为了账号安全,请及时绑定邮箱和手机立即绑定

一个小问题关于字符型数组的输出请教一下

一个小问题关于字符型数组的输出请教一下

C C++
慕粉1600176492 2016-12-10 12:03:44
//为什么输出时候性别输出的时候,会出现第三个打印输出显示不出来? #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;  }
查看完整描述

1 回答

?
慕粉1600176492

TA贡献3条经验 获得超0个赞

//问题已经解决

查看完整回答
反对 回复 2016-12-10
  • 1 回答
  • 0 关注
  • 1147 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信