编写一个函数void stor(flaot *p,int n)对10个学生成绩,由低到高排序,并计算平均成绩。(调用时用数组做实参、形参是指针变量)
时间: 2024-05-08 09:21:12 浏览: 99
C语言程序设计-有一个一维数组score,内放10个学生的成绩,用一个函数来求平均成绩;
5星 · 资源好评率100%
以下是实现该函数的代码:
```c
void stor(float *p, int n){
float temp;
float sum = 0.0;
// 冒泡排序
for(int i=0; i<n-1; i++){
for(int j=0; j<n-i-1; j++){
if(*(p+j) > *(p+j+1)){
temp = *(p+j);
*(p+j) = *(p+j+1);
*(p+j+1) = temp;
}
}
}
// 计算平均成绩
for(int i=0; i<n; i++){
sum += *(p+i);
}
float avg = sum / n;
// 输出排序后的成绩和平均成绩
printf("排序后的成绩:\n");
for(int i=0; i<n; i++){
printf("%.2f ", *(p+i));
}
printf("\n平均成绩:%.2f\n", avg);
}
```
调用时可以这样写:
```c
float scores[10] = {90.0, 80.0, 70.0, 85.0, 95.0, 60.0, 75.0, 88.0, 92.0, 79.0};
stor(scores, 10);
```
输出结果为:
```
排序后的成绩:
60.00 70.00 75.00 79.00 80.00 85.00 88.00 90.00 92.00 95.00
平均成绩:83.40
```
阅读全文