参数

32 阅读1分钟

参数:

在调用函数时,传入的值,为实参。

在定义函数时,传入的值,为形参。

参数传递:数据从实参传递到形参。

注意:类型,数量,顺序要一致

任务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;
}

运行结果:

image.png

任务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;
}

运行结果:

image.png

任务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;
}

运行结果:

image.png