|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
******************************************************************************
刚学c不久,遇到一个题目,写不出来 ,求大佬们告知问题出在哪里
******************************************************************************
这里是问题:
(1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;
(2) 各项目名次取法有如下几种:
取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1;         
(3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。
(4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。
******************************************************************************************************************************
这是菜逼萌新我打的代码。。。
#include<stdio.h>
int main()
{
int a, b=1,c,d,e=0,f=0,g=0;/*e为计算机学院的总分,f为理学院总分,g为电气学院总分*/
printf("参赛院系:");
printf("计算机学院\t理学院\t电气学院\n");
printf("男子竞赛项目:");
printf("1000米跑\t跳远\t铅球\n");
printf("女子竞赛项目:");
printf("800米跑\t50米跑\t引体向上\n");
struct people
{
char name[10];
char sex[5];
int institute;/*计算机学院代号为1,理学院为2,电气学院为3*/
char project[10];
int rank;
}stu[29];
for(a=0;a<=29;a++)
{
printf("请输入第%d参赛人员信息\n",b);
printf("请输入名字:");
scanf("%s",stu[a].name);
printf("请输入性别:");
scanf("%s",stu[a].sex);
printf("请输入院系代号:");
scanf("%d",stu[a].institute);
printf("请输入比赛项目:");
scanf("%s",stu[a].project);
printf("请输入名次:");
scanf("%d",stu[a].rank);
b=b+1;
}
for(c=0;c<=29;c++)
{
if(stu[c].institute==1)
{
switch(stu[c].rank)/*switch用来判断该学生的名次并计算他的分数*/
{
case 1:d=7;break;
case 2:d=5;break;
case 3:d=3;break;
case 4:d=2;break;
case 5:d=1;break;
}
e=e+d;
}
if(stu[c].institute==2)
{
switch(stu[c].rank)
{
case 1:d=7;break;
case 2:d=5;break;
case 3:d=3;break;
case 4:d=2;break;
case 5:d=1;break;
}
f=f+d;
}
if(stu[c].institute==3)
{
switch(stu[c].rank)
{
case 1:d=7;break;
case 2:d=5;break;
case 3:d=3;break;
case 4:d=2;break;
case 5:d=1;break;
}
g=g+d;
}
}
printf("计算机学院的总分是%d",e);
printf("理学院的总分是%d",f);
printf("电气学院的总分是%d",g);
return 0;
}
我现在只做到输出总分,后面的等下再去想想怎么做。
为什么我的程序运行到printf("请输入院系代号:");就不运行了;后面的也显示不出来,然后过了一会他就自动关了
本帖最后由 jackz007 于 2019-12-5 01:05 编辑
把下面 2 句修改一下就好了
. . . . . .
printf("请输入院系代号:") ;
scanf("%d", & stu[a].institute) ; // 读入整型数必须使用取址操作符
. . . . . .
printf("请输入名次:") ;
scanf("%d", & stu[a].rank) ; // 读入整型数必须使用取址操作符
. . . . . .
|
|