作业帮 > 综合 > 作业

输入10名学生的序号和每个学生三门功课(数学、英语、C语言程序设计)的成绩,编程计算出每个学生的总分和平均分,并按学生成

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/03 08:48:23
输入10名学生的序号和每个学生三门功课(数学、英语、C语言程序设计)的成绩,编程计算出每个学生的总分和平均分,并按学生成绩优劣排序,且打印一张按高分到低分名次排序的成绩单.然后用折半查找法查找有没有平均分为85分的学生,如果找到,则输出相关的序号,如果没有找到,则输出没有找到的信息.
要求:
(1) 排序用一个函数实现.
(2) 打印的成绩单表项包括:序号、数学、英语、 C语言程序设计、总分、平均分.
折半查找法才是重点
输入10名学生的序号和每个学生三门功课(数学、英语、C语言程序设计)的成绩,编程计算出每个学生的总分和平均分,并按学生成
#include<stdio.h>#include<stdlib.h>struct student{ int num;  int math;  int english;  int c;  int sum;  int average;};void main(){struct student s[10];int i;void sum( student s[]);void average(student s[]);void sort(student s[]);void print(student s[]);void search(student s[]);
for(i=0;i<10;i++) {printf("请输入%d个学生的信息-------学号------数学成绩------英语成绩-----c语言成绩\n",i+1);     scanf("%d,%d,%d,%d",&s[i].num,&s[i].math,&s[i].english,&s[i].c);  }sum(s);average(s);sort(s);search(s);print(s);system("pause");//我用的是vs2010编译器,楼主用别的话改下这条}void sum( student s[]){ int i;
for(i=0;i<10;i++)s[i].sum=s[i].math+s[i].english+s[i].c;}void average(student s[]){int i;
 for(i=0;i<10;i++)s[i].average=(s[i].math+s[i].english+s[i].c)/3;}void sort(student s[])
{  int i,j,k;  struct student temp;  for(i=0;i<10;i++)   {   k=i;  for(j=i+1;j<10;j++) if(s[k].sum<s[j].sum) k=j;    if(k!=i)   {temp=s[i];    s[i]=s[k];s[k]=temp;   } }}void search(student s[]){int mid,low,high,found; low=0; high=9; found=0; while(low<=high) {mid=(high+low)/2;  if(s[mid].average==85){found=1;break;}  else if(85>s[mid].average) high=mid-1;  else low=mid+1;
 } if(found==1) printf("平均分为85分的学生序号为%d\n",s[mid].num); else printf("平均分为85分的学生不存在\n");}void print(student s[]){int i;printf("学号--数学成绩---英语成绩---c语言课程设计成绩---平均分---总分\n"); for(i=0;i<10;i++)
printf("%-4d%5d%5d%5d%5d%5d\n",s[i].num,s[i].math,s[i].english,s[i].c,s[i].average,s[i].sum);}
注意输入时每个都用逗号隔开,看不懂再问我
再问: 我用的VC6,编译的时候有错误。
再答: 把sysytem("pause")哪行去掉了没;
再问: 可以了,谢谢
再答: 楼主别忘了给分啊!
输入10名学生的序号和每个学生三门功课(数学、英语、C语言程序设计)的成绩,编程计算出每个学生的总分和平均分,并按学生成 编程统计全班学生成绩.要求每次键盘输入一个学生的3门课程分数,计算并输出每个学生的总分和平均分 1.有5名学生,每名学生有语文、数学、物理和外语四门课的考试成绩,编程统计各学生的总分和平均分,以及所 编写c语言程序,输入学生语数英三门课程成绩(考虑到数据类型,整型和实型),并输出其总分和平均分. 编程统计全班同学成绩:要求每次用键盘输入一个学生的2门分数,计算并输出每个学生的总分和平均分,此外,如果平均分大于等于8 C语言填空 从键盘输入5名学生的学号、姓名以及3门课成绩,计算每名同学的总分和平均分并按格式输出 求C语言程序:创建二维数组 输入5个学生的四门课成绩 编程计算每个学生的总分和每门课的平均分~ C语言 输入三个学生4门课的成绩,计算每个学生的总分和平均成绩并输出,结果保留一位小数 有四名学生,考四门功课,求出每位学生的总分和平均分,及所有学生每门功课平均分,和所有功课的平均分 JAVA编程:有五个学生,每个学生有3门课(语文、数学、英语)的成绩, 输入20个学生成绩并求出总分和平均分C语言程序 某班有45名学生,设计一个算法,输入每个学生的数学成绩后,