学生的属性包括姓名、学号、5门课程的成绩、平均成绩与总成绩。已知一个学生的姓名、学号与5门课程的成绩,你的任务是计算该学生的平均成绩与总成绩,并将该学生的5门课程成绩按照从高到底进行排序,最后将这个同学的完整信息输出。学生的姓名中只能包含大小写字母与空格字符,不会超过20个字符;学生的学号是个长度不会超过20的字符串,只包含数字字符;课程成绩均为0—100的整数。
要求:
1.在本题中,你要设计一个结构来存储学生的信息。在此结构中,需要有一个字符数组来存储姓名;一个字符数组来存储学号;一个长度为5的整型数组来存储5门课程的成绩;一个双精度浮点型变量存储平均成绩,一个整型变量存储总成绩。
2.在对结构变量的成员进行赋值与排序的时候,你要使用“结构变量名+‘.’+结构成员名”这种方式访问变量,如“student.score”;而在输出学生信息时,你要用一个结构指针指向该结构,然后用结构指针访问结构中的变量,即“结构指针名+‘->’+结构成员名”,如“ptr->score”。
学生信息的输入按照姓名、学号、5门课程成绩的顺序输入,共占三行,具体格式见样例。
姓名占一行;学号占一行;5门成绩中间用空格分开,最后一个成绩后是换行符,从高到底进行排序,占一行;平均成绩与总成绩用空格分隔,占一行,平均成绩保留两位小数。
Liu Mengmeng
0821131666666
88 90 93 91 85
Name:Liu Mengmeng
ID:0821131666666
Score:93 91 90 88 85
average:89.40 total:447
答案:
#include
struct student {
char name[21];
char id[21];
int scores[5];
double average;
int total;
};
int main(){
struct student s;
gets(s.name);
gets(s.id);
for(int i=0;i<5;i++){
scanf("%d",&s.scores[i]);
}
int temp=0,hasChanged=0,finish=0;
while(!finish){
hasChanged=0;
for(int i=0;i<4;i++){
if(s.scores[i]
有n名学生,每个学生的信息包括姓名、学号、5门课程的成绩,平均成绩与总成绩。已知学生的姓名、学号与5门课程的成绩,你的任务是计算每个学生的平均成绩与总成绩,并将它们输出。学生的姓名中只能包含大小写字母与空格字符,不会超过20个字符;学生的学号是个长度不会超过20的字符串,只包含数字字符;课程成绩均为0—100的整数。
要求:在本题中,你要设计一个结构来存储一个学生的信息。在此结构中,需要有一个字符数组来存储姓名;一个字符数组来存储学号;一个长度为5的整型数组来存储5门课程的成绩;一个双精度浮点型变量存储平均成绩,一个整型变量存储总成绩。然后,你要设计一个结构数组来存储n名学生的信息。
输入首先是一个正整数n,代表学生的数量,1<=n<=100;每名学生的信息按照姓名、学号、5门课程成绩的顺序输入,共占三行。输入具体格式见样例。
姓名占一行;学号占一行;5门课程成绩中间用空格分开,最后一个成绩后是换行符,占一行;平均与总成绩用空格分隔,占一行,平均成绩保留两位小数;每名同学的信息后都再输出一个空行。
注意:每名同学的信息后都再输出一个空行。
4
xiaowang
0821131699999
87 98 79 90 68
Liu Mengmeng
0821131666666
88 90 93 91 85
Albert Einstein
0821131477777
75 87 100 66 64
Bill Gates
0821131588888
65 58 77 60 61
Name:xiaowang
ID:0821131699999
Score:87 98 79 90 68
average:84.40 total:422
Name:Liu Mengmeng
ID:0821131666666
Score:88 90 93 91 85
average:89.40 total:447
Name:Albert Einstein
ID:0821131477777
Score:75 87 100 66 64
average:78.40 total:392
Name:Bill Gates
ID:0821131588888
Score:65 58 77 60 61
average:64.20 total:321
答案:
#include
struct student {
char name[21];
char id[21];
int scores[5];
double average;
int total;
};
int main(){
int n=0;
scanf("%d\n",&n);
while(n>0){
struct student s;
gets(s.name);
gets(s.id);
for(int i=0;i<5;i++){
scanf("%d\n",&s.scores[i]);
}
int totals=0;
printf("Name:%s\nID:%s\n",s.name,s.id);
for(int i=0;i<5;i++){
if(i==0){
printf("Score:%d",s.scores[i]);
}else{
printf(" %d",s.scores[i]);
}
totals+=s.scores[i];
}
s.average=1.0*totals/5;
s.total=totals;
printf("\naverage:%.2lf total:%d\n\n",s.average,s.total);
n-=1;
}
}
有n名学生,每个学生的属性包括姓名与总成绩。已知学生的姓名与总成绩,你的任务是将学生的信息按照以下方式排序:首先比较总成绩,总成绩高的在前面,总成绩低的在后面,当总成绩相同时,你要比较学生的姓名,姓名字典序小的同学在前面,姓名字典序大的同学在后面(ASCII码顺序)。n的范围是1—100;学生的姓名中只能包含大小写字母,不会超过20个字符;总成绩为整数。
要求:在本题中,你要设计一个结构来存储学生的信息。在此结构中,需要有一个字符数组来存储姓名,一个整型变量存储总成绩。
首先输入一个正整数n,代表学生的数量,1<=n<=100;每名学生的信息按照姓名、总成绩的顺序输入(空格分开),每名学生信息占一行。具体格式见样例。
n名学生的信息,姓名占一行,总成绩占一行,输出顺序要按照题目的要求,每名同学的信息后都再输出一个空行。
注意:每名同学的信息后都再输出一个空行。
4
AlbertEinstein 1328
GeorgeWalkerBush 860
LiuMengmeng 1475
BillGates 1328
Name:LiuMengmeng
total:1475
Name:AlbertEinstein
total:1328
Name:BillGates
total:1328
Name:GeorgeWalkerBush
total:860
答案:
#include
#include
struct student {
char name[21];
int scores;
};
void swape(struct student * s1, struct student * s2);
int main(){
int n;
scanf("%d",&n);
struct student s[n];
for(int i=0;i0){
swape(&s[i],&s[i+1]);
hasChanged=1;
}
}
if(!hasChanged){
finish=1;
}
}
for(int i=0;i
创建学生信息管理系统,具体要求如下:
学生信息包括:学号 姓名 数学成绩 英语成绩 计算机成绩
功能1:添加学生信息
执行1时,输入学号,姓名,三门科目成绩;如果添加学生成功则输出“Add success”,如果学生已存在则输出“Students already exist”
功能2:删除学生信息
执行2时,输入学号信息;如果学生不存在,输出“Students do not exist”,如果存在,则输出“Delete success”
功能3:更改学生成绩信息
执行3时,输入学号信息;如果学生不存在,输出“Students do not exist”,如果存在,输出“Update success”
功能4:显示学生平均分成绩
执行4时,输入学号信息;如果学生不存在,输出“Students do not exist”,如果存在,则输出学生信息,如下格式:
Student ID:2019989890
Name:Jerry
Average Score:89.3
其中平均分为三门科目相加除以3,保留一位小数,每行之间换行。
第一行为一个整数n(0
8
1 201817123 Tom 89 80 76
1 2019989890 Jerry 78 99 67
4 201817123
2 201817123
4 201817123
4 2019989890
3 2019989890 79 90 99
4 2019989890
Add success
Add success
Student ID:201817123
Name:Tom
Average Score:81.7
Delete success
Students do not exist
Student ID:2019989890
Name:Jerry
Average Score:81.3
Update success
Student ID:2019989890
Name:Jerry
Average Score:89.3
答案:
#include
#include
struct student {
char name[11];
char id[11];
int scores[3];
};
void swape(struct student * s1, struct student * s2);
int main(){
struct student s[100];
int totalNum=0;
int n;
scanf("%d",&n);
int cmd=0;
int ifexist=0;
for(int i=0;i