阵列变数(2)

练习1:数字统计

  • 请使用者输入10个整数后,输出最大与平均值

 

13 23 78 77 37 30 40 50 83 99
Max: 99
Avg: 53

Process returned 0 (0x0) execution time : 36.634 s
Press any key to continue.

// 三个参数都狗在一起
#include <stdio.h>

int main() {
    int i, n, max, avg, sum = 0;
    for (i = 1; i <= 10; i++) {
        scanf("%d", &n);  // 读数字
        if (i == 1 || n > max) {
            max = n; // 把第一个数赋值给max,比较合理,如果max直接等于0,那就没有考虑负数的情况
        }
        sum += n; // sum每次加数
    }
    avg = sum / 10;
    printf("Max: %d\n", max);
    printf("Avg: %d\n", avg);
    return 0;
}

// 各参数依次分开
#include <stdio.h>

int main()
{
    int i, n[10], avg;
    for (i = 1; i <= 10; i++) {
        scanf("%d", &n[i-1]);// 数组是从0开始的
    }
    int max = n[0]; // 把max是为第一个数
    for (i = 1; i < 10; i++) {
        if (n[i] > max) {
            max = n[i];
        }
    }
    int sum = n[0];
    for (i = 1; i < 10; i++) {
        sum += n[i];
    }
    avg = sum / 10;
    printf("Max: %d\n", max);
    printf("Avg: %d\n", avg);
    return 0;


}

// 使用函式来做
#include <stdio.h>
#include <stdlib.h>

int max10(int n[10]);
int avg10(int n[10]);

void main()
{
    int i, n[10];
    for (i =1; i <= 10; i++) {
        scanf("%d", &n[i-1]);
    }
    printf("Max: %d\n", max10(n));
    printf("Avg: %d\n", avg10(n));
    return 0;
}

int max10(int n[10]){
    int i, max;
    for (i = 1; i <= 10; i++) {
        if (i == 1 || n[i-1] > max) {
            max = n[i-1];
        }
    }
    return max;

}

int avg10(int n[10])
{
    int i, sum=0;
    for (i = 1; i <= 10; i++) {
        sum += n[i-1];
    }
    return sum /10;
}

 

上一篇:02:财务管理


下一篇:学生管理系统