c语言二级成绩查询短信查询
如何用C语言实现根据学号查询学生成绩信息
概述它只使用多个数组来管理学生成绩信息,而不使用结构体。
该程序的主要难点是根据学生人数或总分对学生信息进行排序,并使用临时数组来标记排序后的项目。
运行结果如下:
输入数据:
按总分排序:
根据学号删除学生信息:
插入代码(有点多)
#include
#include
#include
#defineMAX_STUDENT30//最大学生数
//函数声明,本程序一共有10个子函数,每个函数对应一个操作
voidstudent_scanf(intn);
voidstudent_printf(intn);
intstudent_find_name(intn);
intstudent_find_num(intn);
voidstudent_sort_num(intn);
voidstudent_sort_sum(intn);
intStudent_alter_num(intn);
intstudent_alter_name(intn);
intstudent_delete_num(intn);
intstudent_delete_name(intn);
//用于存储学生信息的全局数组变量
char姓名[MAX_STUDENT][50];
intmath[MAX_STUDENT];
intenglish[MAX_STUDENT];
intcomputer[MAX_STUDENT];
intsum[MAX_STUDENT];
intnum[MAX_STUDENT];
//以下变量用于将学生信息数组作为临时数组进行排序
inttemp_num[MAX_STUDENT];
chartemp_names[MAX_STUDENT][50];
inttemp_math[MAX_STUDENT];
inttemp_english[MAX_STUDENT];
inttemp_computer[MAX_STUDENT];
inttemp_sum[MAX_STUDENT];
//排序数组存放排序后的学号或下标姓名
intsort[MAX_STUDENT];
//全局循环变量
inti,j;
//main主函数
intmain(void)
{
intchoice,n;
while(1)
{
printf("***********************************************\n");
printf("欢迎使用学生成绩管理系统\n");
printf(“[1]全部输入学生信息\n");
printf("[2]输出所有学生成绩\n");
Printtf("[3]按学生查找学生信息number\n");
printf("[4]按姓名查找学生信息\n");
printf("[5]按学号对学生进行排序\n");
printf("[6]学生按总分sort\n");
printf("[7]按学号更改学生信息\n");
printf("[8]按学号更改学生信息name\n");
printf("[9]按学号删除某个学生的信息\n");
printf("[10]按姓名删除某人学生信息\n");
printf("[0]程序exit\n");
printf("请输入您的选择(0-9):");
scanf("%d",&choice);
printf("**********************************************)\n");
切换h(选择)
{
case1://entry;
printf("请输入数量输入学生信息:");
scanf("%d",&n);
student_scanf(n);
break;
case2://output;
student_printf(n);
break;
case3://根据学号查找
student_find_num(n);
break;
case4://按名字search
student_find_name(n);
break;
case5://按学号排序
student_sort_num(n);
break;
case6://按名称排序
student_sort_sum(n);
break;
case7://按学号更改
student_age_num(n);
break;
case8://按姓名更改
student_age_name(n);
case8://按姓名更改
student_age_name(n);
break;
case9://After删除学号
student_delete_num(n);
n--;
break;
case10://按姓名删除
student_delete_name(n);
n--;
break;
case0://结束程序
printf("程序结束\n");
printf("程序结束,谢谢使用!\n");
exit(0);
default:
printf("您输入的菜单不正确,请重新登录!\n");
}
}
return0;
}
//1
voidstudent_scanf(intn)
{
for(i=0;i { printf("\n请输入%d-学生信息:\n",i+1); printf("\n学习数:"); scanf("%d",&num[i]); printf("\n名称:"); scanf("%s",names[i]); printf("\n数学成绩:"); scanf("%d",&math[i]); printf("\n英语成绩:"); scanf("%d",&english[i]); printf("\n计算机分数:"); scanf("%d",&computer[i]); //计算总分 sum[i]=math[i]+english[i]+computer[i]; } } //2 voidstudent_printf(intn) {
for(i=0;i { printf("%d\t%s\t%d\t\t%d\t\t%d\t\t%d\n",num[i],名称[i],数学[i],english[i],computer[i],sum[i]); } printf("---------------------------------------\n"); //3.按学号搜索 intstudent_find_num(intn) { intnums; intresult; printf("请输入要查找的学号:"); scanf("%d",&nums); result=-1; for(i=0;i { if(nums==num[i]) { 结果=i; break; } } //最后判断q值 if(result==-1) { printf("没有该学生的信息!\n"); return0; } else { //先打印表头 printf("\n学号\t\t姓名\t\t数学成绩\t英语成绩\t电脑成绩\t总成绩\n"); //再次数据print printf("%d\t\t%s\t\t%d\t\t%d\t\t%d\t%d\n",num[结果],Name[结果],Math[结果t],english[结果],computer[结果],sum[结果]); printf("打印搜索结果!\n"); } return1; //4.按名称搜索成绩 intstudent_find_name(intn) { charname[200]; intresult; printf("请输入要查找的学生姓名:"); scanf("%s",name); 结果=-1; for(i=0;i { if(strcmp(name,names[i])==0) { result=i; break; } } if(result==-1) {//未找到Result printf("没有该学生的信息!\n"); return0; } else//查找结果 { printf("\n学号\t姓名\t数学成绩\t英语成绩\t计算机成绩\t总计得分\n"); printf("%d\t%s\t%d\t\t%d\t\t%d\t\t%d\n",num[Result],Name[结果],Math[结果],english[结果],computer[结果],sum[结果]); printf("搜索完成!\n"); } 返回rn1; //5.按学号排序 voidstudent_sort_num(intn) { intmin,max; for(i=0;i { temp_num[i]=num[i]; max=0;//搜索学习号并将其索引存储在排序数组的最后一个值中 for(j=1;j { if(temp_num[max] max=j; } sort[n-1]=max;//排序数组的最后一个数字 for(i=0;i { min=i;//确定最少学生人数 for(j=0;j { min=j; } //排序数组记录排序后的索引学生信息 sort[i]=min; temp_num[min]=temp_num[max];//使用临时数组,将搜索到的学生信息的学号设置为最大值,避免搜索干扰 for(i=0;i { temp_num[i]=num[i]; strcpy(temp_names[i],names[我]); temp_math[i]=math[i]; temp_english[i]=english[i]; temp_computer[i]=computer[i]; temp_sum[i]=sum[i]; } for(i=0;i { num[i]=temp_num[sort[i]] strcpy(names[i],temp_names[sort[i]]); 数学[i]=temp_math[sort[i]] english[i]=temp_english[sort[i]]; 计算机[i]=temp_computer[sort[i]] sum[i]=temp_sum[sort[i]]; printf("排序完成,请按菜单键2显示排序结果!\n"); return; } //6.按总分排序 voidstudent_sort_sum(intn) { intmin,max; for(i=0;i { temp_sum[i]=sum[i]; max=0;//找到最大总分并将其索引存储在排序数组的最后一个值中 for(j=1;j { if(temp_sum[max] max=j; } sort[n-1]=max;//对数组末尾的数字进行排序 for(i=0;i { min=我;//求最小总分 for(j=0;j { min=j; } //排序数组记录排序后的学生信息的索引 排序[我]=min; temp_sum[min]=temp_sum[max];//使用临时数组,将搜索到的学生信息的总分设置为最大值,避免搜索干扰 for(i=0;i { temp_num[i]=num[i]; strcpy(temp_names[i],names[i]); temp_math[i]=math[i]; temp_english[i]=english[i]; temp_computer[i]=计算机[i]; temp_sum[i]=sum[i]; } for(i=0;i { strcpy(names[i],temp_names[sort[i]]); 数学[i]=temp_math[sort[i]] 计算r[i]=temp_computer[sort[i]]; sum[i]=temp_sum[sort[i]]; } printf(“排序后,请按菜单键2显示排序结果!\n"); return; } //7.通过学号更改学生信息 intstudent_alter_num(intn) { intnums; intresult; printf("请输入要更改的学号:"); 扫描f("%d",&nums); 结果=-1; for(i=0;i { if(nums==num[i]) { result=i; break; } } //最后确定q值 if(result==-1) { printf("没有该学生的信息!\n"); return0; else//信息值更改 { printf("请重新输入学生信息:\n"); printf("学生学号:\n"); scanf("%d",&num[结果]); printf("名称:\n"); printf("数学成绩:\n"); scanf("%d",&math[result]); printf("英语成绩:\N"); scanf("%d",&english[结果]); printf("计算机分数:\n"); scanf("%d",&计算机[结果]); sum[结果]=数学[结果]+英语[结果]+计算机[结果]; } return1; } //8.按姓名更改学生信息 intstudent_alter_name(intn) { charname[50]; intresult; printf("请输入您可以更改学生的姓名:); scanf("%s",name); result=-1; for(i=0;i { if(strcmp(name,names[i])==0) { 结果=i; 中断; //最后确定q-value if(result==-1) { printf("没有关于该学生的信息!\n"); return0; } else//更改信息value { printf("请重新输入学生信息:\n"); printf("学号:\n"); scanf("%d",&num[结果]); printf("名称:\n"); scanf("%s",names[结果]); printf("数学成绩:\n"); scanf("%d",&math[结果]); printf("English得分:\n"); scanf("%d",&english[结果]); scanf("%d",&english[结果]); printf("计算机分数:\n"); scanf("%d",&计算机[结果]); sum[结果]=数学[结果]+英语[结果]+计算机[结果]; } return1; } //9.按学号删除学生信息 intstudent_delete_num(intn) { intnums; intresult; printf("请输入要删除的学号:"); scanf("%d",&nums); result=-1; 对于(i=0;i { if(nums==num[i]) { 结果=i; break; } } //最后确定q值 if(结果==-1) { printf("暂无此信息Student!\n"); return0; } else//清除当前学生信息,会改变结果所在位置的数组一次向前移动一个位置 { for(i=result;i { num[i]=num[i+1] strcpy(names[i],names[i+1]); 数学[i]=数学[i+1]; 英语[i]=英语[i+1]; 计算机[i]=计算机[i+1]; sum[i]=sum[i+1]; } } return1; } //10.按姓名删除学生信息 intstudent_delete_name(intn) { charname[50]; intresult; printf("请输入要删除的学生姓名:"); scanf("%s",name); 结果=-1; for(i=0;i { if(strcmp(name,names[i])==0) { 结果=i; break; } } //最后确定一个q-value if(result==-1) { printf("没有该学生的信息!\n"); return0; else//清除当前学生信息会将数组从结果位置向前移动一位 { for(i=结果;i { num[i]=num[i+1] 数学[i]=数学[i+1]; english[i]=english[i+1]; 计算机[i]=计算机[i+1]; sum[i]=sum[i+1]; } } return1; }国二C成绩查询时间及方式
出来了国家网站审查中心网站打不开。
如果您需要查询是否在学校参加过考试,可以到学校考试中心查询。
这里给大家参考一下:(个人可以在学校查个人成绩,我在内网查过)http://192.168.117.104/ncre/cj.php