C语言,急急急,输入若干名学生的一门考试成绩以及学好,输出最好成绩和最好成绩的学号,平均分,大侠进来

指点下小弟啊,可追加分

可以用两个数组分别储存学号和成绩,再用两个for套用进行从大到小或从小到大排序。我编了下,C刚上学期学的,编的不好,希望对你有用。

#include"stdio.h"
main()
{
float a[100],t;
int b[100], c,n,i,j;
float sum=0;
printf("请输入学生个数n \n");
scanf("%d",&n);

for(i=0;i<n;i++){
printf(" 输入第%d名学生的考试成绩以及学号",i+1);
scanf("%f %d",&a[i],&b[i]);
}
for(j=n;j>1;j--)

for(i=0;i<n-1;i++){

if(a[i]>a[i+1]){
t=a[i];
a[i]=a[i+1];
a[i+1]=t;

c=b[i];
b[i]=b[i+1];
b[i+1]=c;}
}
t=a[n-1];
c=b[n-1];

for(i=0;i<n;i++)
sum=sum+a[i];

sum=sum/n;

printf("最好成绩为%f\n最好成绩的学号为%d\n平均分为%f\n",t,c,sum);

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-09
atic成员,所以count不会再创建新的对象时被初始化,所以有几个类count就等于几.另外,=号调用了拷贝构造函数,而你没有定义拷贝构造函数,所以不会有输出。析构函数在销毁对象时调用,先构造后销毁,拷贝构造函数也是构造对象的一种方法,所以a b c均有实例对象。因此输出结果为
Constructor called
Constructor called
There are 2 Object(s)
Destructor called
Destructor called
Destructor called
另外,你的程序有问题,static 对象不能再定义时初始化。
希望能帮助到你。
希望对你有帮助
第2个回答  2011-04-09
平均分:累加即可。
最好成绩,最好学生:
每次输入就更新...
(不需要排序)
第3个回答  2011-04-09
我advice: 你最好看下课本 这类题 太多了 比如计算机等级考试上的这类就是一个类型
第4个回答  2011-04-08
这个可以用很多种方法,你用冒泡法写写看 ,你先试试,不懂我叫你

C语言,急急急,输入若干名学生的一门考试成绩以及学好,输出最好成绩和最...
sum=sum\/n;printf("最好成绩为%f\\n最好成绩的学号为%d\\n平均分为%f\\n",t,c,sum);}

c语言 输入n个学生,以及每个学生的数学,英语成绩,然后统计每门课程的...
printf("请输入第%d个学生的英语成绩:", i+1);scanf("%f", &a[1][i]);sum[1] += a[1][i];if (a[1][i]>max[1]){ max[1] = a[1][i];} } min[0] = a[0][0];min[1] = a[1][0];for (i = 1; i < n; ++i){ if (a[0][i]<min[0]){ min[0] =...

C语言编程,输入任意多个学生的成绩,求出其中的最高分,最低分,还有平均...
include<stdio.h> void main(){ float max;float min;float aveg;float sum=0;int n=0;float chengji;printf("输入学生的成绩,当输入-1是结束");scanf("%f",&chengji);max=chengji;min=chengji;while(chengji!=-1){sum=sum+chengji;n++;if(max<=chengji) max=chengji;if(min>=chengji)...

C语言编程—学生成绩查询系统!紧急!!!
printf(" 1 输入学生成绩\\n\\n"); printf(" 2 输出学生成绩\\n\\n"); printf(" 3 查询学生成绩\\n\\n"); printf(" 4 修改学生成绩\\n\\n"); printf(" 5 查看成绩排序\\n\\n"); printf(" 6 查看成绩统计\\n\\n"); printf(" 7 保存数据\\n\\n"); printf(" 8 读取数据\\n\\n"); printf(" 9 退出...

...从键盘输入10个学生的成绩,由高到低排序输出成绩。
int main(){ int s [10], i, j, t;cout << "输入10个数:";for (i = 0; i < 10; i++){ cout << "请输入第" << i+1 << "名学生的成绩;" << endl;cin >> s[i];} for (i = 0; i<10; i++){ for (j = 0; j<9 - i; j++)if (s[j]<s[j + 1])...

C语言程序 输入10个学生的成绩,要求输出这10个成绩的及格率和优秀率,再...
printf("请输入10个学生的成绩:\\n"); for(i=0;i<10;i++) { scanf("%d",&grade[i]); if(grade[i]>=85) { k++; } if(grade[i]>=60) { j++; } else { NoGood[m++]=i; } } PassRate=1.0f*j\/10*100; ExeRate=1.0f*k\/10*100; printf("这些学生的及格率为%.2f%%\\n",PassRate...

c语言先输入一个整数n,再输入n个学生成绩,统计及格学生的人数并输出
* sizeof(struct Student));for(i=0;i<len;++i)\/\/输入 { printf("请输入第%d个学生的成绩;\\n",i+1);printf("成绩:");scanf("%f", &pArr[i].score);} for(i=0; i<len;++i){ if(pArr[i].score > 60)j += 1;} printf("及格的人数为:%d人。", j);return 0;} ...

急求!c语言!从键盘依次输入平时、期中和期末成绩(均为整数),输出总评...
例程如下:include<stdio.h> void main(void){ int usual=0,midterm=0,final=0;double integrative;printf(" pleae input score: \\n");scanf ("%d %d %d",&usual,&midterm,&final);integrative= usual*0.15+midterm*0.25+final*0.6;printf("%.2f \\n",integrative);} 你看看,上面程序...

输入10名学生成绩,用基于过程的程序设计方法设计实现:输出显示最高成绩...
s+=a[i];avez=s\/10;printf("平均成绩为%g\\n",avez);} void main(){ int i;float a[10]; \/\/为什么不用int,因为成绩不一定是整数的 printf("请分别输入10个学生的成绩:");for(i=0;i<10;i++)scanf("%f",&a[i]);max(a);min(a);ave(a);} 希望采纳!!!

编程输入3个学生的学号、姓名、三门课程的成绩,统计每总分,然后比较最...
\/ 从键盘输入38个学生的基本数据,包括学号,姓名,性别以及3门课程的单科成绩。(1) 计算每个学生3门课程的总分和平均成绩;(2) 找出每门课程中成绩最好和成绩最差的学生,并输出这些学生的基本数据;(3) 3门课程总成绩按由高分到低分的顺序排序,输出排序后的学生的基本数据。\/ \/ VC++ 6.0...

相似回答