C语言编程题目 一维数组

2025年03月01日 11:01
有1个网友回答
网友(1):

#include"stdio.h"
//输入函数,返回值为数组实际元素数。
int input(float a[]){
int m,i;
printf("输入该班学生个数:");// 输入学生个数
scanf("%d",&m);
printf("输入 %d 个学生的成绩:",m); //输入学生成绩
for(i=0;iscanf("%f",&a[i]);
return m;
}
//输出函数,第一参数是数组,第二个参数是数组元素个数
void output(float a[],int n){
int i;
for(i=0;iprintf("%.1f ",a[i]);
printf("\n");
}
//将数组元素按从大到小排序
void paixu(float a[],int n){
int i,j;
float temp;
for(i=0;ifor(j=i;jif(a[j]{temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
//求数组所有元素的平均数,返回值为平均数
float pingjun(float a[],int n){
int i;
float m=0;
for(i=0;im=m+a[i];
return m/n+1;
}
//主函数
void main(){
int n;//表示数组元素个数
float a[100];
n=input(a);//输入数组
paixu(a,n);//排序
printf("成绩从高到低排序为:");
output(a,n);//输出排序后数组
printf("平均成绩为:%.1f\n",pingjun(a,n));
//输出平均数,%.1f表示输出的浮点数保留1位小数
}
题目就是调用函数输入一个班所有学生成绩,然后对成绩按从调到低排序,并输出排序后的成绩,并求该班的平均成绩。