用c语言编写平均分编程怎么写

时间:2025-03-05 09:26:20 明星趣事

方法一:使用数组

```c

include

// 函数声明

void average(float *p, int n);

int main() {

float scores; // 定义一个包含10个学生成绩的数组

int n = 10; // 学生人数

// 输入成绩

printf("请输入%d个学生的成绩:\n", n);

for (int i = 0; i < n; i++) {

scanf("%f", &scores[i]);

}

// 计算平均分

average(scores, n);

return 0;

}

// 计算平均分的函数

void average(float *p, int n) {

float sum = 0.0;

for (int i = 0; i < n; i++) {

sum += p[i];

}

float average = sum / n;

printf("平均分为: %.2f\n", average);

}

```

方法二:逐个输入

```c

include

// 函数声明

void average(float *p, int n);

int main() {

int n;

float sum = 0.0, average;

// 输入学生人数

printf("请输入学生人数n: ");

scanf("%d", &n);

// 输入成绩

printf("请输入%d个学生的成绩:\n", n);

for (int i = 0; i < n; i++) {

scanf("%f", &p[i]);

sum += p[i];

}

// 计算平均分

average(p, n);

return 0;

}

// 计算平均分的函数

void average(float *p, int n) {

float average = sum / n;

printf("平均分为: %.2f\n", average);

}

```

方法三:使用动态数组

```c

include

include

// 函数声明

void average(float *p, int n);

int main() {

int n;

printf("请输入学生人数n: ");

scanf("%d", &n);

// 动态分配数组内存

float *scores = (float *)malloc(n * sizeof(float));

if (scores == NULL) {

printf("内存分配失败!\n");

return 1;

}

// 输入成绩

printf("请输入%d个学生的成绩:\n", n);

for (int i = 0; i < n; i++) {

scanf("%f", &scores[i]);

}

// 计算平均分

average(scores, n);

// 释放动态分配的内存

free(scores);

return 0;

}

// 计算平均分的函数

void average(float *p, int n) {

float sum = 0.0;

for (int i = 0; i < n; i++) {

sum += p[i];

}

float average = sum / n;

printf("平均分为: %.2f\n", average);

}

```

总结

以上三种方法都可以实现计算平均分的功能。方法一使用固定大小的数组,方法二逐个输入成绩并计算平均分,方法三使用动态数组来处理不同数量的成绩。根据具体需求和场景选择合适的方法即可。