C语言综合问题:输入5个学生的姓名、学号和5门课成绩计算每个学生的总分和平均分并按从高到低排序

如题所述

定义一个结构体
struct student
{
char *name;//姓名
int num[10];//学号
int scor[5];//5门课成绩
int average;//平均成绩
};
用student定义5个变量,再操作应该就很简单了
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-01
#include <stdio.h> typedef struct _student{ int id; char name[8]; float score1; float score2; float score3; float score4; float score5; float score_total; float score_avg;}student; int student_swap(student* s1, student* s2){ //Add your code here return 0;} float score_sum(student* s, int s_size){ float sum = 0.0; sum = sum + s->score1; sum = sum + s->score2; sum = sum + s->score3; sum = sum + s->score4; sum = sum + s->score5; return sum;} float score_avg(student* s, int s_size){ float sum = 0.0; sum = score_sum(s, s_size); return sum/s_size;
} int student_sort(student s[], int s_size){ for(int n1=0;n1<s_size;n1++) { for(int n2=n1+1;n2<s_size;n2++) { if(s[n1].score_total<s[n2].score_total) { student_swap(&s[n1], &s[n2]); } } } return 0;} int main(){ student s[5]; for(int n=0;n<5;n++) { printf("请输入学生学号:"); scanf("%d", &s[n].id); printf("请输入学生姓名:"); scanf("%d", &s[n].name); printf("请输入第一门课成绩:"); scanf("%d", &s[n].score1); printf("请输入第二门课成绩:"); scanf("%d", &s[n].score2); printf("请输入第三门课成绩:"); scanf("%d", &s[n].score3); printf("请输入第四门课成绩:"); scanf("%d", &s[n].score4); printf("请输入第五门课成绩:"); scanf("%d", &s[n].score5); s[n].score_total = score_sum(s, 5); s[n].score_avg = score_avg(s, 5); printf("总成绩=%f,平均成绩=%f\n", s[n].score_total, s[n].score_avg); } return 0;}

...学号和5门课成绩计算每个学生的总分和平均分并按从高到低排序_百度...
scanf("%d", &s[n].id); printf("

...姓名以及3门课成绩,计算每名同学的总分和平均分并按格式输出_百度知 ...
第三空:stu[i].sum+=stu[i].sco[j];

C语言 用结构体类型数组编程实现输入5个学生的学号姓名平时成绩期中成 ...
平时成绩:");scanf ("%f",&stu[stuIndex].score1);printf ("期中成绩:");scanf ("%f",&stu[stuIndex].score2);printf ("期末成绩:");scanf ("%f",&stu[stuIndex].score3);putchar ('\\n');}\/*计算学期成绩*\/void calculationScore (student stu[], int stuIndex) {float sco1R...

C语言 计算5个学生的成绩,总成绩和平均成绩,输入最大值和最小值._百度...
int main(){ int i; float score[5],all = 0,avg = 0; printf("请输入这五位学生的成绩:\\n"); for(i = 0; i < 5; i++) scanf("%f",&score[i]); float max=score[0],min=score[0]; for(i = 0; i < 5; i++) { all += score[i]; if(score[i]>...

C语言:编写input()实现对5个学生的学号 姓名 性别 年龄和成绩等数
\/\/以下所述方法是list方式实现的,编译平台VS2015,如果其他平台编译有问题,请自行修改scanf_s安全函数为scanf常规函数\/\/有疑问还可继续追问#include <stdio.h>#define SIZE 15#define GENDERSIZE 5\/\/SIZE是学号和姓名长度,GENDERSIZE是性别长度struct info {char stuNo[SIZE];char name[SIZE];char ...

...包含学号、姓名、数学成绩、英语成绩、C语言成绩……
10];float s;float e;float c;}STU;STU a[5];int main(){int i,j;float fen[5],y;STU x;float max,min; \/\/定义两个变量for(i=0;i<5;i++){scanf("%s %s %f %f %f",a[i].num,a[i].name,&a[i].s,&a[i].e,&a[i].c);fen[i]=a[i].s+a[i].e+a[...

输入5个学生4门课程的成绩,求(1)每个学生的总分(2)每门课程的平均分(3...
我曾经回答过一个问题,和你的类似。 题目如下,你可以参考一下:\/ 从键盘输入38个学生的基本数据,包括学号,姓名,性别以及3门课程的单科成绩。(1) 计算每个学生3门课程的总分和平均成绩;(2) 找出每门课程中成绩最好和成绩最差的学生,并输出这些学生的基本数据;(3) 3门课程总成绩按由高分到...

...输入多个学生五门课的成绩,分别求出每个学生的平均成绩和每门课...
sum[i]=sum[i]+student[i][j];\/\/计算每个同学的平均成绩 } sum[i]=sum[i]\/5;} \/\/计算每门课的平均成绩 for(i=0;i<5;i++){ kemu[i]=0;for (j=0;j<n;j++)kemu[i]=kemu[i]+student[j][i];kemu[i]=kemu[i]\/n;} printf("每个同学的平均成绩为:");for (i=0;i<n...

...输入这n个学生姓名、学号、五门课成绩。输出姓名、学号、五门课成 ...
printf("Please input the information:\\n") ;\/\/输入学生信息 for(i=0;i<n;i++)\/\/输入姓名(如 bill gates){ scanf("%c",&ch);while(ch!='\\n'){ Ptr[i].name[p]=ch;p++;scanf("%c",&ch);} Ptr[i].name[p+1]=0;scanf("%c",ch);\/\/输入学号(含字母、数字)while(...

C语言,学生成绩管理系统
5. 具有清晰的程序流程图和数据结构的详细定义; 6. 熟练掌握C语言对文件的各种操作。 创新要求: 在基本要求达到后,可进行创新设计,如系统用户功能控制,对管理员级和一般级别的用户系统功能操作不同 三、信息描述 输入一个班10个学生的学号和每个学生考试三门功课(数学、英语、计算机基础)的成绩。编程计算出每个...

相似回答