标题:求教大神,下面这个程序应该怎样输入才能正确运行?说实话,刚学习结构体的 ...
只看楼主
天灵灵
Rank: 1
等 级:新手上路
帖 子:7
专家分:8
注 册:2017-11-2
结帖率:100%
已结贴  问题点数:10 回复次数:1 
求教大神,下面这个程序应该怎样输入才能正确运行?说实话,刚学习结构体的我一脸懵逼
#include<stdio.h>
#include<string.h>
struct student
{ char name[20];
  int num;
  char sex;
  char department[20];
 }stu[20];
int main()
{ struct student t;
  int i,j,n,s=0;
  char m[20];
  scanf("%d",&n);
  printf("\tname\tnum\tsex\tdepartment\n");
  for(i=0;i<=n-1;i++)  
  scanf("\t%s\t%d\t%c\t%s",stu[i].name,&stu[i].num,&stu[i].sex,stu[i].department);
  printf("按学号输入:\n");
  for(i=1;i<=n-1;i++)
    for(j=0;j<=n-1-i;j++)
    {if(stu[j].num>stu[j+1].num)
    {   t=stu[j];
        stu[j]=stu[j+i];
        stu[j+1]=t;
    }
    }
   for(i=0;i<=n-1;i++)
    { printf("\t%s\t%d\t%c\t%s\n",stu[i].name,stu[i].num,stu[i].sex,stu[i].department);
    }
   printf("department:\n");
   scanf("%s",&m);
   for(i=0;i<=n-1;i++)
   {if(strcmp(m,stu[i].department)==0)
    s++;
   }
   printf("%d\n",s);
   return 0;
}
搜索更多相关主题的帖子: stu char num printf for 
2017-12-13 22:30
GBH1
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:112
专家分:510
注 册:2017-6-13
得分:10 
t=stu[j];
 stu[j]=stu[j+i];
 stu[j+1]=t;
自己检查这三行代码,撸多了手抖了吧
2017-12-13 22:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-483356-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.256290 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved