方法一:使用数组
```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); } ``` 总结 以上三种方法都可以实现计算平均分的功能。方法一使用固定大小的数组,方法二逐个输入成绩并计算平均分,方法三使用动态数组来处理不同数量的成绩。根据具体需求和场景选择合适的方法即可。