当前位置:系统粉 > 电脑问答 > 其他问答 > C语言结构体打印不出来

C语言结构体打印不出来

提问者:御沐辰  |  浏览 次  |  提问时间:2019-02-14  |  回答数量:2

C语言结构体打印不出来(图1)这个只能打印第一个名字,望大神求解!!!!!!!!!!!!我希望一个名字后面加上一个成绩。!!!!!!!!!

已有2条答案
注意事项kk

注意事项kk

回答数:26  |  被采纳数:40

2019-02-14 19:24:14
没怎么懂你的意思,正好我昨天也写了一个,学生管理程序,C语言结构体打印不出来(1)C语言结构体打印不出来(2)#include <stdio.h>#include <string.h>typedef struct student{int num;int grade;char name[100];}ST;void input(ST *,int);void print(void);void sumAvr(ST *,int);void printStudent(ST *,int);void sortBynum(ST *,int);void sortBysocre1(ST *,int);void sortBysocre(ST *,int);void find(ST *,int);void searchByname(ST *,int);void show(ST *,int);void sortByname(ST *,int);main(){printf("Input student number(n<30):\n");int n; scanf("%d",&n);ST st[n];int choose;do{print();scanf("%d",&choose);getchar();switch(choose){case 1:input(st,n);break;case 2:sumAvr(st,n);break;case 3:sortBysocre(st,n);break;case 4:sortBysocre1(st,n);break;case 5:sortBynum(st,n);break;case 6:sortByname(st,n); break;case 7:find(st,n);break;case 8:searchByname(st,n);break;case 9:show(st,n);break;case 10:printStudent(st,n);break;case 0:printf("End of program!\n");break;default :printf("Input error!\n");}}while(choose!=0); }void sortByname(ST *m,int n){printf("Sort in dictionary order by name:\n");int i,j;ST temp;for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if(strcmp(m[j].name,m[j+1].name)>0){temp=m[j];m[j]=m[j+1];//printf("dddd");m[j+1]=temp; }} }printStudent(m,n); }void searchByname(ST *m,int n){char temp[100];printf("Input the name you want to search:\n");gets(temp);int i;for(i=0;i<n;i++){if(strcmp(temp,m[i].name)==0){printf("%d\t%s\t%d\n",m[i].num,m[i].name,m[i].grade);return; }}printf("Not found!\n");}void sortBysocre1(ST *m,int n){ printf("Sort in ascending order by score:\n");ST temp;int i,j;for(i=0;i<n;i++){//printf("dddd");for(j=0;j<n-i-1;j++){if(m[j].grade>m[j+1].grade){temp=m[j];m[j]=m[j+1];//printf("dddd");m[j+1]=temp;}}}printStudent(m,n); }void show(ST *m,int n){int i;int n1=0,n2=0,n3=0,n4=0,n5=0,n6=0;for(i=0;i<n;i++){if(m[i].grade<60){n1++;}else if(m[i].grade<70&&m[i].grade>=60){n2++;}else if(m[i].grade<80&&m[i].grade>=70){n3++;}else if(m[i].grade<90&&m[i].grade>=80){n4++;}else if(m[i].grade<100&&m[i].grade>=90){n5++;}else{n6++;}}printf("<60\t%d\t%.2f%%\n",n1,100*(float)n1/(float)n);printf("60-69\t%d\t%.2f%%\n",n2,100*(float)n2/(float)n);printf("70-79\t%d\t%.2f%%\n",n3,100*(float)n3/(float)n);printf("80-89\t%d\t%.2f%%\n",n4,100*(float)n4/(float)n);printf("90-99\t%d\t%.2f%%\n",n5,100*(float)n5/(float)n);printf("100\t%d\t%.2f%%\n",n6,100*(float)n6/(float)n); }void find(ST *m,int n){printf("Input the number you want to search:\n");int f,i;scanf("%d",&f);for(i=0;i<n;i++){if(m[i].num==f){printf("%d\t%s\t%d\n",m[i].num,m[i].name,m[i].grade);return ;}}printf("Not found!\n"); }void sortBysocre(ST *m,int n){printf("Sort in descending order by score:\n");ST temp;int i,j;for(i=0;i<n;i++){//printf("dddd");for(j=0;j<n-i-1;j++){if(m[j].grade<m[j+1].grade){temp=m[j];m[j]=m[j+1];//printf("dddd");m[j+1]=temp;}}}printStudent(m,n); }void sortBynum(ST *m,int n){printf("Sort in ascending order by number:\n");ST temp;int i,j;for(i=0;i<n;i++){//printf("dddd");for(j=0;j<n-i-1;j++){if(m[j].num>m[j+1].num){temp=m[j];m[j]=m[j+1];//printf("dddd");m[j+1]=temp;}}}printStudent(m,n); }void printStudent(ST *m,int n){int i;for(i=0;i<n;i++){printf("%d\t%s\t%d\n",m[i].num,m[i].name,m[i].grade);}}void print(void){printf("Management for Students' scores\n1.Input record\n2.Caculate total and average score of course\n3.Sort in descending order by score\n4.Sort in ascending order by score\n5.Sort in ascending order by number\n6.Sort in dictionary order by name\n7.Search by number\n8.Search by name\n9.Statistic analysis\n10.List record\n0.Exit\nPlease Input your choice:\n");}void sumAvr(ST *m,int n){int sum=0;int i;for(i=0;i<n;i++){sum+=m[i].grade;}float avr=(float)sum/(float)n;printf("sum=%d,aver=%.2f\n",sum,avr);}void input(ST *m,int n){printf("Input student's ID, name and score:\n");int i;for(i=0;i<n;i++){scanf("%d",&m[i].num); getchar();gets(m[i].name);scanf("%d",&m[i].grade);} }你可以自己修改一下,
赞 2
胤璎

胤璎

回答数:71  |  被采纳数:74

2019-02-14 19:32:30
额粉色发冯绍峰无法色鬼无法色鬼粉色粉色粉色粉色粉色发放
赞 7
解决方法
版权信息

Copyright @ 2011 系统粉 版权声明 最新发布内容 网站导航