有一学生成绩表,包括学号、姓名、3门课程成绩。已知该成绩表按学号升序已排序。请编程实现,添加一个新的学生信息,且使成绩表仍按学号有序;若待添加的学号与已有学号重复,则输出错误信息,拒绝添加。
#include#include #include typedef struct studen { char number[20]; char name[50]; int a,b,c; } ST; int main() { int n; scanf("%d",&n); int i,flag=0,j; ST stu[102],temp; for(i=0;i<=n;i++) { scanf("%s",stu[i].number); scanf("%s",stu[i].name); scanf("%d",&stu[i].a); scanf("%d",&stu[i].b); scanf("%d",&stu[i].c); } for(i=0;i<=n;i++) { for(j=i+1;j<=n;j++){ if(strcmp(stu[n].number,stu[i].number)==0) { printf("error!n"); flag=1; break; } else if(strcmp(stu[i].number,stu[j].number)>0) { temp=stu[i]; stu[i]=stu[j]; stu[j]=temp; } } } if(flag==0){ for(i=0;i<=n;i++){ printf("%s ",stu[i].number); printf("%s ",stu[i].name); printf("%d ",stu[i].a); printf("%d ",stu[i].b); printf("%dn",stu[i].c);} } return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)