第一个程序:/*(1)选项菜单集成各功能函块(2)录入学生成绩(姓名、学号、语文、数学成绩,总分自动计算)(3)按总分排名次(4)按姓名查找某学生成绩(5)统计各课程的平均分、及格率、最高分、最低分(6)打印成绩表 */#include<stdio.h>#include<stdlib.h>#include<string.h>#define n 175typedef struct mark//定义成绩结构体{ double yuwen; double shuxue;};typedef struct //定义学生信息结构体{ long number; char name[20]; double sum; double **er; struct mark achie;}student;student stu[n];//定义结构体数组double ymin,ymax,smax,smin,yper,sper,y**er=0,s**er=0;//定义全局变量int input()//学生信息输入函数{ int i,n; printf("请输入你要输入的学生数:\n"); scanf("%d",&n); for(i=1;i<=n;i++) { printf("请输入第%d个学生的信息(包括学号、姓名、语文、数学的成绩)\n",i); scanf( "%ld%s%lf%lf", &stu[i].number, stu[i].name, &stu[i].achie.yuwen, &stu[i].achie.shuxue ); } return(n);}void skim(int n)//学生信息浏览函数{ int i; printf("列出的学生信息依次为学号、姓名、语文、数学的成绩、总分、平均分\n"); for(i=1;i<=n;i++) { stu[i].sum=stu[i].achie.yuwen+stu[i].achie.shuxue; stu[i].**er=stu[i].sum/2.0; printf("第%d个学生的信息为:\n",i); printf( "%d\t%s\t%lf\t%lf\t", stu[i].number, stu[i].name, stu[i].achie.yuwen, stu[i].achie.shuxue ); printf("%lf\t%lf\n",stu[i].sum,stu[i].**er); }}void search(int n,char m[])//相关学生信息查找函数{ int i; for(i=1;i<=n;i++) if(strcmp(stu[i].name,m)==0) break; if(i>n) printf("系统查找不到相应学生的信息,请确认输入后重新输入\n"); else { stu[i].sum=stu[i].achie.yuwen+stu[i].achie.shuxue; stu[i].**er=stu[i].sum/2.0; printf("你要查询的学生的信息是:"); printf("%d\t%s\t%lf\t%lf\t",stu[i].number,stu[i].name,stu[i].achie.yuwen,stu[i].achie.shuxue); printf("%lf\t%lf\n",stu[i].sum,stu[i].**er); }}void sort(int n)//学生信息排序函数{ int i,j; student temp; for(i=1;i<=n;i++) { stu[i].sum=stu[i].achie.yuwen+stu[i].achie.shuxue; stu[i].**er=stu[i].sum/2.0; } for(i=1;i<=n;i++) for(j=i+1;j<=n;j++) if(stu[i].sum>stu[j].sum) { temp=stu[i]; stu[i]=stu[j]; stu[j]=temp; } printf("按学生的总分升序排序后的结果是:"); for(i=1;i<=n;i++) { printf("%d\t%s\t%lf\t%lf\t",stu[i].number,stu[i].name,stu[i].achie.yuwen,stu[i].achie.shuxue); printf("%lf\t%lf\n",stu[i].sum,stu[i].**er); }}void stati(int n)//学生相关信息的统计函数{ int i,a=0,b=0; ymin=stu[1].achie.yuwen;smin=stu[1].achie.shuxue; ymax=stu[1].achie.yuwen;smax=stu[1].achie.shuxue; for(i=1;i<=n;i++) { if(stu[i].achie.yuwen<ymin) ymin=stu[i].achie.yuwen; if(stu[i].achie.yuwen>ymax) ymax=stu[i].achie.yuwen; if(stu[i].achie.shuxue<smin) smin=stu[i].achie.shuxue; if(stu[i].achie.shuxue>smax) ymin=stu[i].achie.shuxue; if(stu[i].achie.yuwen>=60) a++; if(stu[i].achie.shuxue>=60) b++; s**er+=stu[i].achie.shuxue/2.0; y**er+=stu[i].achie.yuwen/2.0; } yper=(double)a/n;sper=(double)b/n; printf("语文的平均分、及格率、最高分、最低分分别为:%lf\t%lf\t%lf\t%lf\n",y**er,yper,ymax,ymin); printf("数学的平均分、及格率、最高分、最低分分别为:%lf\t%lf\t%lf\t%lf\n",s**er,sper,smax,smin);}void mixed(int m,int n)//实现相应功能选择的函数{ char k[n]; switch(m) { case 1:skim(n); break; case 2:stati(n); break; case 3:printf("请输入你要查询的学生的姓名:"); scanf("%s",k); search(n,k); break; case 4:sort(n); break; case 5:exit(0); }}main()//主函数,打印菜单……{ int n,m; printf("\n\t为使系统正常工作请先按提示输入学生信息\n\n"); n=input(); printf("%d",n); do { printf("请选择你要本系统实现的功能\n"); printf("1:学生信息浏览功能\n"); printf("2:统计各课程的平均分、及格率、最高分、最低分\n"); printf("3:单用户信息查询功能\n"); printf("4:排序功能(按学生总分绩进行排序)\n"); printf("5:安全退出\n"); printf("\t\t\t\t\t\t请输入你要实现的功能选项:"); scanf("%d",&m); if(m<0||m>4) break; else mixed(m,n); }while(1);} 第二个程序:/*c语言设计 考试管理系统设计内容:1、每一条记录包括一个学生的学号、姓名、主要课程的成绩。2、单用户信息查询功能:。查询特定学生的记录,求其总分,平均分3、学生信息浏览功能:显示所有学生的成绩记录,总分、平均分。4、不及格记录查询功能:查询有不及格课程的学生信息。5、排序功能:按学生平均成绩进行排序。或以某1单科成绩排序。6、用户信息修改功能。7、将学生记录存在结构体(student)中。8、应提供一个界面来条用各个功能,条用界面和各个功能的操作界面应尽可能的清晰美观。设计要求:1、用c语言实现系统;2、利用结构体实现学生成绩的数据结构设计。3、系统具体查询,排序等基本功能;4、系统的各个功能模块要求用函数的形式实现;5、完成设计任务并写课程设计报告。6、将学生成绩信息存在文件中。*/ #include<stdio.h>#include<stdlib.h>#include<string.h>#define n 175typedef struct mark{ double yuwen; double shuxue; double engl**h; double c ;};typedef struct { long number; char name[20]; double sum; double **er; struct mark achie;}student;student stu[n];int input(){ int i,n; printf("请输入你要输入的学生数:\n"); scanf("%d",&n); for(i=1;i<=n;i++) { printf("请输入第%d个学生的信息(包括学号、姓名、语文、数学、外语、c语言的成绩)\n",i); scanf( "%ld%s%lf%lf%lf%lf", &stu[i].number, stu[i].name, &stu[i].achie.yuwen, &stu[i].achie.shuxue, &stu[i].achie.engl**h, &stu[i].achie.c ); } return(n);}void skim(int n){ int i; printf("列出的学生信息依次为学号、姓名、语文、数学、外语、c语言的成绩、总分、平均分\n"); for(i=1;i<=n;i++) { stu[i].sum=stu[i].achie.yuwen+stu[i].achie.shuxue+stu[i].achie.engl**h+stu[i].achie.c; stu[i].**er=stu[i].sum/4.0; printf("第%d个学生的信息为:\n",i); printf( "%d\t%s\t%lf\t%lf\t", stu[i].number, stu[i].name, stu[i].achie.yuwen, stu[i].achie.shuxue ); printf( "%lf\t%lf\t%lf\t%lf\n", stu[i].achie.engl**h, stu[i].achie.c, stu[i].sum, stu[i].**er ); }}void search1(int n,long m){ int i; for(i=1;i<=n;i++) if(stu[i].number==m) break; if(i>n) printf("系统查找不到相应学生的信息,请确认输入后重新输入\n"); else { stu[i].sum=stu[i].achie.yuwen+stu[i].achie.shuxue+stu[i].achie.engl**h+stu[i].achie.c; stu[i].**er=stu[i].sum/4.0; printf("你要查询的学生的信息是:"); printf("%d\t%s\t%lf\t%lf\t",stu[i].number,stu[i].name,stu[i].achie.yuwen,stu[i].achie.shuxue); printf( "%lf\t%lf\t%lf\t%lf\n", stu[i].achie.engl**h, stu[i].achie.c, stu[i].sum, stu[i].**er ); }}void search2(int n,char a[]){ int i; for(i=1;i<=n;i++) if((strcmp(stu[i].name,a))==0) break; if(i>n) printf("系统查找不到相应学生的信息,请确认输入后重新输入\n"); else { stu[i].sum=stu[i].achie.yuwen+stu[i].achie.shuxue+stu[i].achie.engl**h+stu[i].achie.c; stu[i].**er=stu[i].sum/4.0; printf("你要查询的学生的信息是:"); printf("%d\t%s\t%lf\t%lf\t",stu[i].number,stu[i].name,stu[i].achie.yuwen,stu[i].achie.shuxue); printf( "%lf\t%lf\t%lf\t%lf\n", stu[i].achie.engl**h, stu[i].achie.c, stu[i].sum, stu[i].**er ); }}void sort(int n){ int i,j; student temp; for(i=1;i<=n;i++) { stu[i].sum=stu[i].achie.yuwen+stu[i].achie.shuxue+stu[i].achie.engl**h+stu[i].achie.c; stu[i].**er=stu[i].sum/4.0; } for(i=1;i<=n;i++) for(j=i+1;j<=n;j++) if(stu[i].**er>stu[j].**er) { temp=stu[i]; stu[i]=stu[j]; stu[j]=temp; } printf("按学生的平均分升序排序后的结果是:"); for(i=1;i<=n;i++) { printf("%d\t%s\t%lf\t%lf\t",stu[i].number,stu[i].name,stu[i].achie.yuwen,stu[i].achie.shuxue); printf("%lf\t%lf\t%lf\t%lf\n",stu[i].achie.engl**h,stu[i].achie.c,stu[i].sum,stu[i].**er); }}void spesearch(int n){ int i; printf("有课程成绩不及格的学生的信息为:\n"); for(i=1;i<=n;i++) { if(stu[i].achie.yuwen<60||stu[i].achie.shuxue<60||stu[i].achie.engl**h<60||stu[i].achie.c<60) { printf("%d\t%s\t%lf\t%lf\t",stu[i].number,stu[i].name,stu[i].achie.yuwen,stu[i].achie.shuxue); printf("%lf\t%lf\t%lf\t%lf\n",stu[i].achie.engl**h,stu[i].achie.c,stu[i].sum,stu[i].**er); } }}void choose1(int n,int m){ int i; char a[n]; if(m==1) { printf("请输入你要查询学生的学号:"); scanf("%d",&i); search1(n,i); } if(m==2) { printf("请输入你要查询学生的姓名:"); scanf("%s",a); search2(n,a); } if(m<1||m>2) printf("输入错误,请确定后重新输入!!!");}void alter1(int n,int m){ int i; for(i=1;i<=n;i++) if(stu[i].number==m) break; if(i>n) printf("系统查找不到相应学生的信息,请确认输入后重新输入\n"); else { printf("请输入你修改后的信息:"); scanf( "%ld%s%lf%lf%lf%lf", &stu[i].number, stu[i].name, &stu[i].achie.yuwen, &stu[i].achie.shuxue, &stu[i].achie.engl**h, &stu[i].achie.c ); } printf("修改成功,请继续其它操作");}void alter2(int n,int m){ int i; char a[n]; for(i=1;i<=n;i++) if((strcmp(stu[i].name,a))==0) break; if(i>n) printf("系统查找不到相应学生的信息,请确认输入后重新输入\n"); else { printf("请输入你修改后的信息:"); scanf( "%ld%s%lf%lf%lf%lf", &stu[i].number, stu[i].name, &stu[i].achie.yuwen, &stu[i].achie.shuxue, &stu[i].achie.engl**h, &stu[i].achie.c ); } printf("修改成功,请继续其它操作");}void choose2(int n,int m){ int i; char a[n]; if(m==1) { printf("请输入你要修改学生的学号:"); scanf("%d",&i); alter1(n,i); } if(m==2) { printf("请输入你要修改学生的姓名:"); scanf("%s",a); alter2(n,a); } if(m<1||m>2) printf("输入错误,请确定后重新输入!!!");}void mixed(int m,int n){ int k,l; char a[n],b[n]; switch(m) { case 1:skim(n); break; case 2:spesearch(n); break; case 3:printf("请选择你是根据什么来查询学生信息的:"); printf("1:学号 2:姓名 你的选择是:"); scanf("%d",&k); choose1(n,k); break; case 4:printf("请选择你是根据什么来修改学生信息的:"); printf("1:学号 2:姓名 你的选择是:"); scanf("%d",&l); choose2(n,l); break; case 5:sort(n); break; case 6:exit(0); }}main(){ int n,m; printf("\n\t为使系统正常工作请先按提示输入学生信息\n\n"); n=input(); printf("%d",n); do { printf("请选择你要本系统实现的功能\n"); printf("1:学生信息浏览功能\n"); printf("2:不及格记录查询功能\n"); printf("3:单用户信息查询功能\n"); printf("4:单用户信息修改功能\n"); printf("5:排序功能(按学生平均成绩进行排序)\n"); printf("6:安全退出\n"); printf("\t\t\t\t\t\t请输入你要实现的功能选项:"); scanf("%d",&m); if(m<0||m>5) break; else mixed(m,n); }while(1);}第三个程序:小学生考试模拟系统#include <stdio.h>#include <string.h>int x,y,jg[100],i,z,zq,right=0;void main(){ int cs=1; char str[100]; char *s=".txt"; xsjm(); printf("请输入你的名字(只能是拼音):"); scanf("%s",&str); while(cs<=10){ dtxs(); printf("十道题第%d道\n",cs); cs++; xrwj(str,jg); /**写入文件**/ } printf("小朋友,你一共答对%d道题目,总分%d!加油!",right,right*10); printf("详细信息如下:\n"); printf("===========================================================\n"); xxxx(str);}/**显示界面**/int xsjm(){ printf("小学生的数学学习电子辅导员\n"); return 0;}/**答题显示**/int dtxs(){ printf("请选择计算类型1-加法运算 2-减法运算 3-乘法运算 4-除法运算\n"); if(scanf("%d",&i)) { if(i==1) { sjhs(100); zq=jiafhs(x,y); scanf("%d",&z); jg[0]=x;jg[1]=y;jg[2]=i;jg[3]=z;jg[4]=zq; } if(i==2) { sjhs(100); zq=jianfhs(x,y); scanf("%d",&z); jg[0]=x;jg[1]=y;jg[2]=i;jg[3]=z;jg[4]=zq; } if(i==3) { sjhs(10); zq=chenfhs(x,y); scanf("%d",&z); jg[0]=x;jg[1]=y;jg[2]=i;jg[3]=z;jg[4]=zq; } if(i==4) { sjhs(10); zq=chufhs(x,y); scanf("%d",&z); jg[0]=x;jg[1]=y;jg[2]=i;jg[3]=z;jg[4]=zq; } if(i<1||i>4) printf("小朋友你输入的数字不对!请输入1到4之间的数字!\t"); } else printf("小朋友你输入的不是数字,请输入1到4之间的数字!\t"); return 0;}/**随机函数***/int sjhs(int r){ srand((unsigned)time(**)); x=rand()%r+1; y=rand()%r+1; while(x<=y) y=rand()%r+1; return x;}int jiafhs(int x,int y){ int z; z=x+y; printf("%d+%d=",x,y); return z;}int jianfhs(int x,int y){ int z; z=x-y; printf("%d-%d=",x,y); return z;}int chenfhs(int x,int y){ int z; z=x*y; printf("%d*%d=",x,y); return z;}int chufhs(int x,int y){ int z; z=x*y; printf("%d/%d=",z,x); return y;}int xrwj(char *fname,int jg[]){ file *fp; char hf[2]; char pg[5]; if(jg[3]!=jg[4]) strcpy(pg,"错误"); else{ strcpy(pg,"正确"); right++; } if(jg[2]==1){ hf[0]='+'; hf[1]='\0'; } if(jg[2]==2){ hf[0]='-'; hf[1]='\0'; } if(jg[2]==3){ hf[0]='*'; hf[1]='\0'; } if(jg[2]==4){ hf[0]='\\'; hf[1]='\0'; } if( (fp=fopen(fname,"at+"))==**){ fp=fopen(fname,"at+"); } fp=fopen(fname,"at+"); fprintf(fp,"%d%s%d=%d 标准答案=%d 回答%s\n",jg[0],hf,jg[1],jg[3],jg[4],pg); fclose(fp); return 0;}/**详细信息**/int xxxx(char *str){ char ch; file *fpp; fpp=fopen(str,"rt"); ch=fgetc(fpp); while(ch!=eof) { putchar(ch); ch=fgetc(fpp); }}人机猜数游戏:#include<stdio.h>#include<stdlib.h>#include<time.h>#define n 275int snum=0,lnum=0;void same(int num1,int num2){ int a[4],b[4],i,j; a[0]=num1/1000%10; a[1]=num1/100%10; a[2]=num1/10%10; a[3]=num1%10; b[0]=num2/1000%10; b[1]=num2/100%10; b[2]=num2/10%10; b[3]=num2%10; for(i=0;i<4;i++) { for(j=0;j<4;j++) if(b[i]==a[j]) { a[j]=-1; snum++; break; } }}void locate(int num1,int num2){ int a[4],b[4],i; a[0]=num1/1000%10; a[1]=num1/100%10; a[2]=num1/10%10; a[3]=num1%10; b[0]=num2/1000%10; b[1]=num2/100%10; b[2]=num2/10%10; b[3]=num2%10; for(i=0;i<4;i++) if(b[i]==a[i]) lnum++;}int creat(){ int i,a,temp; srand((unsigned)time(0)); for(i=0;;i++) { temp=rand(); if(temp>=1000&&temp<=9999) { a=temp; break; } } return(a);}main(){ int number1,number2,count1=0,count2=0; number1=creat();// printf("%d\n",number1); do { do { printf("请输入一个你猜到的四位数:"); scanf("%d",&number2); if(number2<1000||number2>9999) { printf("输入错误,请输入一个四位数:"); scanf("%d",&number2); } }while(number2<1000||number2>9999); printf("您输入的数是:"); //printf("%d\n",number1); printf("%d\n",number2); printf("您输入的数中正确的数字(重复的数字不计算)个数是:"); same(number1,number2); printf("%d\n",snum); printf("您输入的数中位置也正确的个数是:"); locate(number1,number2); printf("%d\n",lnum); count2=lnum; count1++; snum=0; lnum=0; }while(count2<4); printf("你好厉害啊,就猜了%d次就猜中了。这个随机数就是%d。恭喜你啊!\n",count1,number1);}这三个程序可都是我费心编出来的啊,可惜就是分有点少,如果你满意,可以再加吗?我可又加了一个程序,这次够了吧,要给我加分啊。 20210311