参数:
在调用函数时,传入的值,为实参。
在定义函数时,传入的值,为形参。
参数传递:数据从实参传递到形参。
注意:类型,数量,顺序要一致
任务1:编写程序,计算【1~n】之间的偶数和。
void getsum(int n) {
int sum = 0;
if (n < 2) {
printf("1~%d之间没有偶数,偶数和为:0\n", n);
return;
}
for (int i = 1; i <= n; i++) {
if (i % 2 == 0) {
sum += i;
}
}
printf("1~%d之间的偶数和为:%d\n", n, sum);
}
int main() {
int n;
printf("请输入一个正整数n:");
if (scanf("%d", &n) != 1 || n < 1) {
printf("输入错误!请输入一个大于等于1的正整数。\n");
return 1;
}
getsum(n);
return 0;
}
运行结果:
任务2:编写程序,输入【2~9】之间的参数,在函数内容打印n*n乘法表
void printFunc1(int n) {
printf("\n===== %d×%d 乘法表 =====\n", n, n);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
printf("%d×%d=%2d ", j, i, j * i);
}
printf("\n");
}
}
int main() {
int n;
printf("请输入2~9之间的整数:");
if (scanf("%d", &n) != 1 || n < 2 || n > 9) {
printf("输入错误!请输入2到9之间的有效整数。\n");
return 1;
}
printFunc1(n);
return 0;
}
运行结果:
任务3:编写程序,打印三个数中的最大数
void printFunc2(int a, int b, int c) {
int max;
max = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
printf("三个数 %d、%d、%d 中的最大数是:%d\n", a, b, c, max);
}
int main() {
int num1, num2, num3;
printf("请输入三个整数(用空格分隔):");
if (scanf("%d %d %d", &num1, &num2, &num3) != 3) {
printf("输入错误!请输入三个合法的整数(如:10 25 18)。\n");
return 1;
}
printFunc2(num1, num2, num3);
return 0;
}
运行结果: