//為什么輸出時候性別輸出的時候,會出現第三個打印輸出顯示不出來?
#include"stdio.h"?
#define?M?6
#define?N?4
? typedef?struct{
? char?num[11];
? char?name[10];
? char?sex[3];
? float?score[M];
? float?total;
?}student;
?int?main()
?{
?student?sw[N];?
?int?i,j;
?printf("輸入學生的學號(依次輸入)\n");
?for(i=0;i<3;i++)
?{
? gets(sw[i].num);
?}
?printf("學號輸入完成!請輸入姓名\n");
?for(i=0;i<3;i++)
?{
? gets(sw[i].name);
?}
?printf("姓名輸入完成!請輸入性別(F?or?M)\n");
?for(i=0;i<3;i++)
?{
????gets(sw[i].sex);
?}
?printf("%s,%s,%s\n",sw[0].sex,sw[1].sex,sw[2].sex);
?printf("性別輸入完成!請分別輸入分數\n");
?for(i=0;i<3;i++)
?{
? for(j=0;j<=5;j++)
? {
? scanf("%f",&sw[i].score[j]);
}
printf("第%d名學生的成績全部輸入完成,NEXT\n",i+1);
?}
?printf("三名學生的全部信息輸入完成!\n");
?for(i=0;i<3;i++)
?{
? for(j=0;j<6;j++)
? {
? sw[i].total+=sw[i].score[j];
}
?}
?for(i=0;i<N-2;i++)
?{
? for(j=0;j<N-2-i;j++)
? {
? if(sw[j].total<sw[j+1].total)
? {
? sw[3]=sw[j];
? sw[j]=sw[j+1];
? sw[j+1]=sw[3];
}
}
?}
?printf("\n\t\t|--------------------------------------");
?printf("-----------------------------------------|\n");
?printf("\t\t|名次|??學??號??|?姓??名?|性?別|?c?程?");
?printf("|?體育?|英?語?|高??數|近代史|?導論?|?總分?|\n");
?for(i=0;i<3;i++)
?{
? printf("\t\t|%4d|%10s|%7s?",i+1,sw[i].num,sw[i].name);//名詞,學號?,姓名?
? if(sw[i].sex[0]=='W'||sw[i].sex[0]=='w')
?{printf("|?男??");}?//性別?
? else?if(sw[i].sex[0]=='F'||sw[i].sex[0]=='f')
?{printf("|?女??");}//性別?
?else?
?{printf("|?????");}?//性別??
?
? for(j=0;j<6;j++)
? {
? printf("|%6.1f",sw[i].score[j]);//各科成績?
}
printf("|%6.1f|\n",sw[i].total);//總分?
?printf("\t\t|--------------------------------------");
?printf("-----------------------------------------|\n");
?}
?return?0;
?}
一個小問題關于字符型數組的輸出請教一下
慕粉1600176492
2016-12-10 12:03:44