参考例 9-3, 输入并保存 10 个学生的成绩信息, 分别输出平均成绩最高和最低的学生 信息。
#includestruct student{ /*学生信息结构定义*/ int num; /* 学号 */ char name[10]; /* 姓名 */ int computer, english, math ; /* 三门课程成绩 */ double average; /* 个人平均成绩 */};struct student students[10]; /* 定义结构数组 */int main(void){ int i, max,min; /* 输入 10 个学生的记录 */ for(i = 0; i < 10; i++){ printf( ”No %d: ", i+1); scanf(”%d%s%d%d%d “, & students[i].num, students[i].name, &students[i].math,&students[i].english, &students[i].computer); students[i].average=(students[i].math+students[i].english+students[i].computer)/3.0; } /* 查找平均成绩最高、最低分学生的数组下标值 */ max=min=0; for( i = 1; i < 10; ++i ){ if(students[i].average > students[max].average) max=i; if(students[i].average < students[min].average) min=i; } /*输出平均成绩最高和最低的学生信息*/ printf“最高分学生信息:学号:%d, 姓名 :%s,数学:%d, 英语:%d, 计算机 :%d,平均分 :%.2lf \n ‘, students[max].num, students[max].name, students[max].math,students[max].english, students[max].computer, students[max].average); printf(”最低分学生信息:学号:%d, 姓名 :%s,数学:%d, 英语:%d, 计算机 :%d,平均分 :%.2lf \n“, students[min].num, students[min].name, students[min].math,students[min].english, students[min].computer, students[min].average); return 0;}
举一反三
- 输入学生人数后输入每个学生的成绩,最后输出学生的平均成绩、最高成绩和最低成绩。 要求使用动态内存分配来实现。
- 编一个程序,输入 10 个学生的学号、姓名、3 门课程的成绩,求出总分最高的学生姓名并输出
- 【问题描述】采用二维数组的方法,输入3名学生的语文和数学课的成绩(第一列为语文成绩,第二列为数学成绩),计算每个学生的平均成绩,并输出平均成绩不及格的人数。【样例输入】60 6070 7050 50【样例输出】平均成绩不及格的人数为1.
- 编程题 建立一个学生的结构记录,要求包括学号,姓名和成绩。输入整数n(n<10),再输入n个学生的基本信息,要求计算并输出他们的平均成绩(保留2位小数)。 3 1 zhang 70 2 wang 80 3 qian 70 输出样例: 73.33
- 从控制台输入n个学生的数学成绩,并计算且输出总成绩、平均成绩、最高分和最低分
内容
- 0
声明一个学生类(student),属性有学号(num)、成绩(score),定义五个学生对象:1、实现所有学生信息的输出。2、实现第0、2、4个学生信息的输出。3、找到成绩最高的学生,输出其信息。
- 1
以下程序的功能是:从键盘输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入...x,amin); return 0; }
- 2
以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空。
- 3
编写程序:[br][/br] 主函数:从键盘输入三个学生信息(学号,姓名,成绩),并输出三个学生信息; 单独编一个函数计算3个学生平均成绩,在主函数输出。
- 4
有n个学生的信息(包括学号、姓名、成绩),要求按照成绩的高低顺序输出各学生的信息。