定义一个学生信息结构体,包含姓名,学号,语文成绩、数学成绩,和英语成绩,定义结构体数组存放不同学生的信息,可以在终端录入学生的信息,可以实现对于学生成绩的排序,排序可以按照语文、数学或者英语的任意一个
1.代码实现
#include<stdio.h>
#include<stdlib.h>
#include<string.h>typedef struct student{int num;char gender[32];char name[64];int chi;int mat;int eng;int avr;
}S;void stu_add(S *p);
void stu_delete(S *p);
void stu_search(S *p);
void stu_modify(S *p);
void stu_show(S *p);
void stu_chi(S *p);
void stu_mat(S *p);
void stu_eng(S *p);
void stu_avr(S *p);int cnt=0;int main(int argc, const char *argv[])
{S stu[20];int key;while(1){printf("---------------功能选择---------------\n");printf("------------1.学生信息录入------------\n");printf("------------2.学生信息删除------------\n");printf("------------3.学生信息查询------------\n");printf("------------4.学生信息修改------------\n");printf("------------5.学生信息显示------------\n");printf("---------6.按语文成绩降序排名---------\n");printf("---------7.按数学成绩降序排名---------\n");printf("---------8.按英语成绩降序排名---------\n");printf("---------9.按平均成绩降序排名---------\n");printf("-------------10.退出系统---------------\n");printf("---------------选择操作---------------\n");scanf("%d",&key);switch(key){case 1:stu_add(stu);break;case 2:stu_delete(stu);break;case 3:stu_search(stu);break;case 4:stu_modify(stu);break;case 5:stu_show(stu);break;case 6:stu_chi(stu);break;case 7:stu_mat(stu);break;case 8:stu_eng(stu);break;case 9:stu_eng(stu);break;case 10:printf("---------------------结束---------------------\n");return -1;default:printf("ERROR\n");}}return 0;
}void stu_add(S *p){int i,jud;while(1){printf("请输入--->学号 性别 姓名 语文成绩 数学成绩 英语成绩\n");scanf("%d %s %s %d %d %d",&p[cnt].num,p[cnt].gender,p[cnt].name,\&p[cnt].chi,&p[cnt].mat,&p[cnt].eng);p[cnt].avr=(p[cnt].chi+p[cnt].mat+p[cnt].eng)/3;cnt++;printf("是否继续添加 \"1\"是 \"0\"否\n");scanf("%d",&jud);if(jud==0)break;}
}void stu_delete(S *p){int num=0;printf("输入被删除学生学号:");scanf("%d",&num);int i=0,j=0;S t1;for(i=0;i<cnt;i++){if(p[i].num==num){for(j=i;j<cnt;j++){t1=p[j];p[j]=p[j+1];p[j+1]=t1;}cnt--;}}
}void stu_search(S *p){int num;printf("输入该学生学号:");scanf("%d",&num);int i;for(i=0;i<cnt;i++){if(p[i].num==num){printf("学号:%-7d 性别:%-7s 姓名:%-7s 语文成绩:%-7d 数学成绩:%-7d 英语成绩:%-7d 平均成绩:%-7d\n",p[i].num,p[i].gender,p[i].name,p[i].chi,p[i].mat,p[i].eng,p[i].avr);}}
}void stu_modify(S *p){int num;printf("输入该学生学号:");scanf("%d",&num);int i;for(i=0;i<cnt;i++){if(p[i].num==num){printf("请输入--->学号 性别 姓名 语文成绩 数学成绩 英语成绩\n");scanf("%d %s %s %d %d %d",&p[i].num,p[i].gender,p[i].name,\&p[i].chi,&p[i].mat,&p[i].eng);printf("该学生信息已被修改为:\n");printf("学号:%-7d 性别:%-7s 姓名:%-7s 语文成绩:%-7d 数学成绩:%-7d 英语成绩:%-7d 平均成绩:%-7d\n",p[i].num,p[i].gender,p[i].name,p[i].chi,p[i].mat,p[i].eng,p[i].avr);break;}}
}void stu_show(S *p){int i;for(i=0;i<cnt;i++){printf("--------------------录入显示---------------------\n"); printf("学号:%-7d 性别:%-7s 姓名:%-7s 语文成绩:%-7d 数学成绩:%-7d 英语成绩:%-7d 平均成绩:%-7d\n",p[i].num,p[i].gender,p[i].name,p[i].chi,p[i].mat,p[i].eng,p[i].avr);}
}void stu_chi(S *p){int i,j;S t;for(i=0;i<cnt-1;i++){for(j=0;j<cnt-1-i;j++){if(p[j].chi<p[j+1].chi){t=p[j];p[j]=p[j+1];p[j+1]=t;}}}for(i=0;i<cnt;i++){printf("---------------按语文成绩降序显示---------------\n");printf("学号:%-7d 性别:%-7s 姓名:%-7s 语文成绩:%-7d 数学成绩:%-7d 英语成绩:%-7d 平均成绩:%-7d\n",p[i].num,p[i].gender,p[i].name,p[i].chi,p[i].mat,p[i].eng,p[i].avr);}
}void stu_mat(S *p){int i,j;S t;for(i=0;i<cnt-1;i++){for(j=0;j<cnt-1-i;j++){if(p[j].mat<p[j+1].mat){t=p[j];p[j]=p[j+1];p[j+1]=t;}}}for(i=0;i<cnt;i++){printf("---------------按数学成绩降序显示---------------\n");printf("学号:%-7d 性别:%-7s 姓名:%-7s 语文成绩:%-7d 数学成绩:%-7d 英语成绩:%-7d 平均成绩:%-7d\n",p[i].num,p[i].gender,p[i].name,p[i].chi,p[i].mat,p[i].eng,p[i].avr);}
}void stu_eng(S *p){int i,j;S t;for(i=0;i<cnt-1;i++){for(j=0;j<cnt-1-i;j++){if(p[j].eng<p[j+1].eng){t=p[j];p[j]=p[j+1];p[j+1]=t;}}}for(i=0;i<cnt;i++){printf("---------------按英语成绩降序显示---------------\n");printf("学号:%-7d 性别:%-7s 姓名:%-7s 语文成绩:%-7d 数学成绩:%-7d 英语成绩:%-7d 平均成绩:%-7d\n",p[i].num,p[i].gender,p[i].name,p[i].chi,p[i].mat,p[i].eng,p[i].avr);}
}void stu_avr(S *p){int i,j;S t;for(i=0;i<cnt-1;i++){for(j=0;j<cnt-1-i;j++){if(p[j].avr<p[j+1].avr){t=p[j];p[j]=p[j+1];p[j+1]=t;}}}for(i=0;i<cnt;i++){printf("---------------按平均成绩降序显示---------------\n");printf("学号:%-7d 性别:%-7s 姓名:%-7s 语文成绩:%-7d 数学成绩:%-7d 英语成绩:%-7d 平均成绩:%-7d\n",p[i].num,p[i].gender,p[i].name,p[i].chi,p[i].mat,p[i].eng,p[i].avr);}
}
2.运行结果
ubuntu@ubuntu:day1$ gcc hw.c
ubuntu@ubuntu:day1$ ./a.out
---------------功能选择---------------
------------1.学生信息录入------------
------------2.学生信息删除------------
------------3.学生信息查询------------
------------4.学生信息修改------------
------------5.学生信息显示------------
---------6.按语文成绩降序排名---------
---------7.按数学成绩降序排名---------
---------8.按英语成绩降序排名---------
---------9.按平均成绩降序排名---------
-------------10.退出系统---------------
---------------选择操作---------------
1
请输入--->学号 性别 姓名 语文成绩 数学成绩 英语成绩
1 male hcf 115 90 115
是否继续添加 "1"是 "0"否
1
请输入--->学号 性别 姓名 语文成绩 数学成绩 英语成绩
2 male syh 110 100 130
是否继续添加 "1"是 "0"否
1
请输入--->学号 性别 姓名 语文成绩 数学成绩 英语成绩
3 male lc 110 95 110
是否继续添加 "1"是 "0"否
1
请输入--->学号 性别 姓名 语文成绩 数学成绩 英语成绩
4 male czy 90 90 90
是否继续添加 "1"是 "0"否
1
请输入--->学号 性别 姓名 语文成绩 数学成绩 英语成绩
5 female yj 120 110 130
是否继续添加 "1"是 "0"否
0
---------------功能选择---------------
------------1.学生信息录入------------
------------2.学生信息删除------------
------------3.学生信息查询------------
------------4.学生信息修改------------
------------5.学生信息显示------------
---------6.按语文成绩降序排名---------
---------7.按数学成绩降序排名---------
---------8.按英语成绩降序排名---------
---------9.按平均成绩降序排名---------
-------------10.退出系统---------------
---------------选择操作---------------
5
--------------------录入显示---------------------
学号:1 性别:male 姓名:hcf 语文成绩:115 数学成绩:90 英语成绩:115 平均成绩:106
--------------------录入显示---------------------
学号:2 性别:male 姓名:syh 语文成绩:110 数学成绩:100 英语成绩:130 平均成绩:113
--------------------录入显示---------------------
学号:3 性别:male 姓名:lc 语文成绩:110 数学成绩:95 英语成绩:110 平均成绩:105
--------------------录入显示---------------------
学号:4 性别:male 姓名:czy 语文成绩:90 数学成绩:90 英语成绩:90 平均成绩:90
--------------------录入显示---------------------
学号:5 性别:female 姓名:yj 语文成绩:120 数学成绩:110 英语成绩:130 平均成绩:120
---------------功能选择---------------
------------1.学生信息录入------------
------------2.学生信息删除------------
------------3.学生信息查询------------
------------4.学生信息修改------------
------------5.学生信息显示------------
---------6.按语文成绩降序排名---------
---------7.按数学成绩降序排名---------
---------8.按英语成绩降序排名---------
---------9.按平均成绩降序排名---------
-------------10.退出系统---------------
---------------选择操作---------------
4
输入该学生学号:3
请输入--->学号 性别 姓名 语文成绩 数学成绩 英语成绩
3 male lc 115 100 110
该学生信息已被修改为:
学号:3 性别:male 姓名:lc 语文成绩:115 数学成绩:100 英语成绩:110 平均成绩:105
---------------功能选择---------------
------------1.学生信息录入------------
------------2.学生信息删除------------
------------3.学生信息查询------------
------------4.学生信息修改------------
------------5.学生信息显示------------
---------6.按语文成绩降序排名---------
---------7.按数学成绩降序排名---------
---------8.按英语成绩降序排名---------
---------9.按平均成绩降序排名---------
-------------10.退出系统---------------
---------------选择操作---------------
3
输入该学生学号:3
学号:3 性别:male 姓名:lc 语文成绩:115 数学成绩:100 英语成绩:110 平均成绩:105
---------------功能选择---------------
------------1.学生信息录入------------
------------2.学生信息删除------------
------------3.学生信息查询------------
------------4.学生信息修改------------
------------5.学生信息显示------------
---------6.按语文成绩降序排名---------
---------7.按数学成绩降序排名---------
---------8.按英语成绩降序排名---------
---------9.按平均成绩降序排名---------
-------------10.退出系统---------------
---------------选择操作---------------
5
--------------------录入显示---------------------
学号:1 性别:male 姓名:hcf 语文成绩:115 数学成绩:90 英语成绩:115 平均成绩:106
--------------------录入显示---------------------
学号:2 性别:male 姓名:syh 语文成绩:110 数学成绩:100 英语成绩:130 平均成绩:113
--------------------录入显示---------------------
学号:3 性别:male 姓名:lc 语文成绩:115 数学成绩:100 英语成绩:110 平均成绩:105
--------------------录入显示---------------------
学号:4 性别:male 姓名:czy 语文成绩:90 数学成绩:90 英语成绩:90 平均成绩:90
--------------------录入显示---------------------
学号:5 性别:female 姓名:yj 语文成绩:120 数学成绩:110 英语成绩:130 平均成绩:120
---------------功能选择---------------
------------1.学生信息录入------------
------------2.学生信息删除------------
------------3.学生信息查询------------
------------4.学生信息修改------------
------------5.学生信息显示------------
---------6.按语文成绩降序排名---------
---------7.按数学成绩降序排名---------
---------8.按英语成绩降序排名---------
---------9.按平均成绩降序排名---------
-------------10.退出系统---------------
---------------选择操作---------------
6
---------------按语文成绩降序显示---------------
学号:5 性别:female 姓名:yj 语文成绩:120 数学成绩:110 英语成绩:130 平均成绩:120
---------------按语文成绩降序显示---------------
学号:1 性别:male 姓名:hcf 语文成绩:115 数学成绩:90 英语成绩:115 平均成绩:106
---------------按语文成绩降序显示---------------
学号:3 性别:male 姓名:lc 语文成绩:115 数学成绩:100 英语成绩:110 平均成绩:105
---------------按语文成绩降序显示---------------
学号:2 性别:male 姓名:syh 语文成绩:110 数学成绩:100 英语成绩:130 平均成绩:113
---------------按语文成绩降序显示---------------
学号:4 性别:male 姓名:czy 语文成绩:90 数学成绩:90 英语成绩:90 平均成绩:90
---------------功能选择---------------
------------1.学生信息录入------------
------------2.学生信息删除------------
------------3.学生信息查询------------
------------4.学生信息修改------------
------------5.学生信息显示------------
---------6.按语文成绩降序排名---------
---------7.按数学成绩降序排名---------
---------8.按英语成绩降序排名---------
---------9.按平均成绩降序排名---------
-------------10.退出系统---------------
---------------选择操作---------------
7
---------------按数学成绩降序显示---------------
学号:5 性别:female 姓名:yj 语文成绩:120 数学成绩:110 英语成绩:130 平均成绩:120
---------------按数学成绩降序显示---------------
学号:3 性别:male 姓名:lc 语文成绩:115 数学成绩:100 英语成绩:110 平均成绩:105
---------------按数学成绩降序显示---------------
学号:2 性别:male 姓名:syh 语文成绩:110 数学成绩:100 英语成绩:130 平均成绩:113
---------------按数学成绩降序显示---------------
学号:1 性别:male 姓名:hcf 语文成绩:115 数学成绩:90 英语成绩:115 平均成绩:106
---------------按数学成绩降序显示---------------
学号:4 性别:male 姓名:czy 语文成绩:90 数学成绩:90 英语成绩:90 平均成绩:90
---------------功能选择---------------
------------1.学生信息录入------------
------------2.学生信息删除------------
------------3.学生信息查询------------
------------4.学生信息修改------------
------------5.学生信息显示------------
---------6.按语文成绩降序排名---------
---------7.按数学成绩降序排名---------
---------8.按英语成绩降序排名---------
---------9.按平均成绩降序排名---------
-------------10.退出系统---------------
---------------选择操作---------------
8
---------------按英语成绩降序显示---------------
学号:5 性别:female 姓名:yj 语文成绩:120 数学成绩:110 英语成绩:130 平均成绩:120
---------------按英语成绩降序显示---------------
学号:2 性别:male 姓名:syh 语文成绩:110 数学成绩:100 英语成绩:130 平均成绩:113
---------------按英语成绩降序显示---------------
学号:1 性别:male 姓名:hcf 语文成绩:115 数学成绩:90 英语成绩:115 平均成绩:106
---------------按英语成绩降序显示---------------
学号:3 性别:male 姓名:lc 语文成绩:115 数学成绩:100 英语成绩:110 平均成绩:105
---------------按英语成绩降序显示---------------
学号:4 性别:male 姓名:czy 语文成绩:90 数学成绩:90 英语成绩:90 平均成绩:90
---------------功能选择---------------
------------1.学生信息录入------------
------------2.学生信息删除------------
------------3.学生信息查询------------
------------4.学生信息修改------------
------------5.学生信息显示------------
---------6.按语文成绩降序排名---------
---------7.按数学成绩降序排名---------
---------8.按英语成绩降序排名---------
---------9.按平均成绩降序排名---------
-------------10.退出系统---------------
---------------选择操作---------------
9
---------------按英语成绩降序显示---------------
学号:5 性别:female 姓名:yj 语文成绩:120 数学成绩:110 英语成绩:130 平均成绩:120
---------------按英语成绩降序显示---------------
学号:2 性别:male 姓名:syh 语文成绩:110 数学成绩:100 英语成绩:130 平均成绩:113
---------------按英语成绩降序显示---------------
学号:1 性别:male 姓名:hcf 语文成绩:115 数学成绩:90 英语成绩:115 平均成绩:106
---------------按英语成绩降序显示---------------
学号:3 性别:male 姓名:lc 语文成绩:115 数学成绩:100 英语成绩:110 平均成绩:105
---------------按英语成绩降序显示---------------
学号:4 性别:male 姓名:czy 语文成绩:90 数学成绩:90 英语成绩:90 平均成绩:90
---------------功能选择---------------
------------1.学生信息录入------------
------------2.学生信息删除------------
------------3.学生信息查询------------
------------4.学生信息修改------------
------------5.学生信息显示------------
---------6.按语文成绩降序排名---------
---------7.按数学成绩降序排名---------
---------8.按英语成绩降序排名---------
---------9.按平均成绩降序排名---------
-------------10.退出系统---------------
---------------选择操作---------------
2
输入被删除学生学号:4
---------------功能选择---------------
------------1.学生信息录入------------
------------2.学生信息删除------------
------------3.学生信息查询------------
------------4.学生信息修改------------
------------5.学生信息显示------------
---------6.按语文成绩降序排名---------
---------7.按数学成绩降序排名---------
---------8.按英语成绩降序排名---------
---------9.按平均成绩降序排名---------
-------------10.退出系统---------------
---------------选择操作---------------
5
--------------------录入显示---------------------
学号:5 性别:female 姓名:yj 语文成绩:120 数学成绩:110 英语成绩:130 平均成绩:120
--------------------录入显示---------------------
学号:2 性别:male 姓名:syh 语文成绩:110 数学成绩:100 英语成绩:130 平均成绩:113
--------------------录入显示---------------------
学号:1 性别:male 姓名:hcf 语文成绩:115 数学成绩:90 英语成绩:115 平均成绩:106
--------------------录入显示---------------------
学号:3 性别:male 姓名:lc 语文成绩:115 数学成绩:100 英语成绩:110 平均成绩:105
---------------功能选择---------------
------------1.学生信息录入------------
------------2.学生信息删除------------
------------3.学生信息查询------------
------------4.学生信息修改------------
------------5.学生信息显示------------
---------6.按语文成绩降序排名---------
---------7.按数学成绩降序排名---------
---------8.按英语成绩降序排名---------
---------9.按平均成绩降序排名---------
-------------10.退出系统---------------
---------------选择操作---------------
6
---------------按语文成绩降序显示---------------
学号:5 性别:female 姓名:yj 语文成绩:120 数学成绩:110 英语成绩:130 平均成绩:120
---------------按语文成绩降序显示---------------
学号:1 性别:male 姓名:hcf 语文成绩:115 数学成绩:90 英语成绩:115 平均成绩:106
---------------按语文成绩降序显示---------------
学号:3 性别:male 姓名:lc 语文成绩:115 数学成绩:100 英语成绩:110 平均成绩:105
---------------按语文成绩降序显示---------------
学号:2 性别:male 姓名:syh 语文成绩:110 数学成绩:100 英语成绩:130 平均成绩:113
---------------功能选择---------------
------------1.学生信息录入------------
------------2.学生信息删除------------
------------3.学生信息查询------------
------------4.学生信息修改------------
------------5.学生信息显示------------
---------6.按语文成绩降序排名---------
---------7.按数学成绩降序排名---------
---------8.按英语成绩降序排名---------
---------9.按平均成绩降序排名---------
-------------10.退出系统---------------
---------------选择操作---------------
定义一个学生信息结构体,包含姓名,学号,语文成绩、数学成绩,和英语成绩,定义结构体数组存放不同学生的信息,可以在终端录入学生的信息,可以实现对于学生成绩的排序,排序可以按照语文、数学或者英语的任意一个相关推荐
- 在学生信息结构体中再添加一个计算平均值和按照平均值排序以及删除指定学号的学生信息
定义一个学生信息结构体,包含姓名,学号,语文成绩.数学成绩,和英语成绩,定义结构体数组存放不同学生的信息,可以在终端录入学生的信息,可以实现对于学生成绩的排序,排序可以按照语文.数学或者英语的任意一个 ...
- 定义一个学生信息结构体,包含姓名,学号,语文成绩、数学成绩,和英语成绩,定义结构体数组存放不同学生的信息,可以在终端录入学生的信息,在基础上添加一个计算平均值和按照平均值排序以及删除指定学号的学生信息
1. 代码如下: 头文件 chx.h #include<stdio.h> #include<string.h>struct chx{char name[128];int sn ...
- 【水汐のC#】计一个Windows应用程序,在该程序中定义一个学生类和班级类,以处理学生的学号,姓名,语文,数学和英语3门课程的期末考试成绩。实现如下要求的功能:
设计一个Windows应用程序,在该程序中定义一个学生类和班级类,以处理学生的学号,姓名,语文,数学和英语3门课程的期末考试成绩.实现如下要求的功能: 根据姓名查询该学生的总成绩: 统计全班学生总分的 ...
- 以小组为单位,设计一个Windows应用程序,在该程序中定义一个学生类和班级类,以处理学生的学号,姓名,语文,数学和英语3门课程的期末考试成绩。
设计一个Windows应用程序,在该程序中定义一个学生类和班级类,以处理学生的学号,姓名,语文,数学和英语3门课程的期末考试成绩. 实现如下要求的功能: 1.根据姓名查询该学生的总成绩: 2.统计全班 ...
- 4.定义并实现一个Person类,包含姓名(name)与编号(code)等两个属性,通过构造函数为属性赋值,拥有显示属性值的方法(showInfo)。从Person类派生出一个Student类,拥有数
package monster.zf.Test; /*** 4.* 定义并实现一个Person类,包含姓名(name)与编号(code)* 等两个属性,通过构造函数为属性赋值,拥有显示属性值的方法(s ...
- 编写C语言代码,实现以下功能:有N名学生,每个人的信息包括学号、姓名和语文、数学、英语、平均分等内容(用结构体表示 ),输出平均分排名倒数第2的学生信息。
编写C语言代码,实现以下功能: 有N名学生,每个人的信息包括学号.姓名和语文.数学.英语.平均分等内容(用结构体表示 ),输出平均分排名倒数第2的学生信息. #define _CRT_SECURE_N ...
- 用Python做一个控制台程序实现图书管理器的简单功能,例如添加图书、查询库里的图书、删除图书、修改书籍信息、显示书籍信息,或者是借阅/归还...
为了实现图书管理器的功能,需要考虑如下几点: 需要定义一个图书类,包含书名.作者.出版社.借阅状态.借阅人等属性,可以使用类的构造函数来初始化这些属性. 需要定义一个图书管理器类,包含一个用于存储图书 ...
- android读信息会话,在融云 IMkit 会话界面基础上添加消息已读未读.
在融云 IMkit 会话界面基础上添加消息已读未读. 使用过融云的同学们可能知道. 融云 IMkit 的会话界面, 发送玩消息后, 如果对方已读, 发送端则会显示小对号的图片. 但是更具需求要把小对号 ...
- 在一行上添加一个简单的if-then-else语句[重复]
本文翻译自:Putting a simple if-then-else statement on one line [duplicate] Possible Duplicate: 可能重复: Pyth ...
- 如何在网页上添加一个微信关注链接?(一键跳转微信关注公众号)!!注意是从外部跳到微信关注...
如何在网页上添加一个微信关注链接?第三方浏览器打开微信的接口,微信只给部分合作平台开放了接口权限,任何第三方想调用只能是通过一些技术手段来请求接口,获取秘钥(ticket).那么如果我们想减少用户从外 ...
最新文章
- 计算一个二进制数中数字“1”的个数(位运算)
- think-in-java(17)容器深入研究
- C语言解析Ini格式文件
- shell进行mysql统计
- 基于评论文本的深度推荐系统总结
- 求集合的所有子集问题
- 用python画皮卡丘-利用Python绘制萌萌哒的皮卡丘
- 第三季-第10课-时间编程
- 在ubuntu9.04中安装电视卡用到的资料
- Python淘宝爬虫
- 基于粒子群算法的微电网优化调度应用研究(六、总结与展望)
- 从0开始的spss数据分析学习之路
- 群晖Docker部署Alist V2
- 功利主义穆勒思维导图_浅析穆勒的功利主义思想及现实意义
- 为什么变量命名不建议用汉语拼音
- 逆向工程学习笔记#1——概况篇
- 关于include的正确理解和用法
- 出大事了!IBM的数仓项目黄了,赔了好几亿!
- 【UML】用例图、活动图、类图、顺序图练习题
- 创业团队 磨合 团队稳定 团队成员