C语言编程题目 一维数组

编个程序, 要有排序 输出 输入,求平均数,而且要用一维数组,在主函数中调用3-4个函数 ( 题目自己定,可以是统计考试成绩之类的,比如求期末考试某班的平均成绩,成绩大小排列)
很急啊,9点半之前期望得到答案
拜谢啦
回答的难度弄低点就可以了,有些语句老师没教过的....就include void main search int printf for if scanf return这些语句就可以了,我就学了点基础,水平太高,当然就知道不是我做的了,拜托
因为时间紧才这么迫切的,其实题目应该比较简单的对于高手们
希望用汉语解释下哈,详细点啦 谢谢啦
我QQ号:44492162
(注明,昨天提问说是用C++编,弄错了 。是用C语言,难度小点)

第1个回答  2009-05-15
#include"stdio.h"
//输入函数,返回值为数组实际元素数。
int input(float a[]){
int m,i;
printf("输入该班学生个数:");// 输入学生个数
scanf("%d",&m);
printf("输入 %d 个学生的成绩:",m); //输入学生成绩
for(i=0;i<m;i++)
scanf("%f",&a[i]);
return m;
}
//输出函数,第一参数是数组,第二个参数是数组元素个数
void output(float a[],int n){
int i;
for(i=0;i<n;i++)
printf("%.1f ",a[i]);
printf("\n");
}
//将数组元素按从大到小排序
void paixu(float a[],int n){
int i,j;
float temp;
for(i=0;i<n;i++)
for(j=i;j<n-i;j++)
if(a[j]<a[j+1])
{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;i<n;i++)
m=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位小数
}
题目就是调用函数输入一个班所有学生成绩,然后对成绩按从调到低排序,并输出排序后的成绩,并求该班的平均成绩。本回答被提问者采纳