Java课程成绩统计说明书,定义一个结构用来保存学员的信息,学号,姓名,C课程成绩,Java课程成绩,并用函数计算平均成绩...

定义一个结构用来保存学员的信息,学号,姓名,C课程成绩,Java课程成绩,并用函数计算平均成绩

mip版  关注:52  答案:3  悬赏:60

解决时间 2021-01-27 18:47

b69c4738614aebc564192245946e8723.png

已解决

2021-01-27 04:56

#include

#include

struct student{

char xh[20];

char name[20];

int ccj;

int javacj;

};

int avg(int ,int);

void main()

{

int i;

struct student st[5];

for (i=0;i<5;i++)

{

printf("\n请输入第%d个学员的信息:\n",i+1);

printf("输入学号:");

gets(st[i].xh);

fflush(stdin);

printf("输入姓名:");

gets(st[i].name);

fflush(stdin);

printf("输入C课程成绩:");

scanf("%d",&st[i].ccj);

printf("输入JAVA课程成绩:");

scanf("%d",&st[i].javacj);

}

printf("\n\n\n");

for(i=0;i<5;i++)

{

printf("\n\t第%d个学员的信息是:\n",i+1);

printf("\n学号:%s",st[i].xh);

printf("\n姓名:%s",st[i].name);

printf("\nC课程成绩:%d",st[i].ccj);

printf("\nJAVA课程成绩:%d",st[i].javacj);

printf("\n该学生的平均成绩是%d\n",avg(st[i].ccj,st[i].javacj));

}

}

int avg(int a,int b)

{

return (a+b)/2;

}

built没有错误 但是除了第一个学员的学号可以输入 其他的都不可以 希望高手帮我看下 谢谢了

最佳答案

c6d19f0ee29929cf62fb9f64eedcf84b.png

2021-01-27 06:33

printf("\n请输入第%d个学员的信息:\n",i+1);

printf("输入学号:");

gets(st[i].xh);

fflush(stdin);

printf("输入姓名:");

gets(st[i].name);

fflush(stdin);

printf("输入C课程成绩:");

scanf("%d",&st[i].ccj);

printf("输入JAVA课程成绩:");

scanf("%d",&st[i].javacj);

//在这里加一句:

getchar();

因为上一行输入时有一个回车符. 如果不加这一行,回车符通过循环被前头的 gets(st[i].xh); 接受, 所以出现了你发现的情况.

全部回答

ce58707d6856638e6684df2591ae845d.png

1楼

2021-01-27 07:55

fflush(stdin);

去除这段代码。

99dce09f265f1ab7d1486779e01a3de3.png

2楼

2021-01-27 07:00

修改如下:

#include

#include

struct student{

char xh[20];

char name[20];

int ccj;

int javacj;

};

int avg(int ,int);

void main()

{

int i;

struct student st[5];

for (i=0;i<5;i++)

{

printf("\n请输入第%d个学员的信息:\n",i+1);

printf("输入学号:");

gets(st[i].xh)

getch();

printf("输入姓名:");

gets(st[i].name);

getch();

printf("输入C课程成绩:");

scanf("%d",&st[i].ccj);

printf("输入JAVA课程成绩:");

scanf("%d",&st[i].javacj);

}

printf("\n\n\n");

for(i=0;i<5;i++)

{

printf("\n\t第%d个学员的信息是:\n",i+1);

printf("\n学号:%s",st[i].xh);

printf("\n姓名:%s",st[i].name);

printf("\nC课程成绩:%d",st[i].ccj);

printf("\nJAVA课程成绩:%d",st[i].javacj);

printf("\n该学生的平均成绩是%d\n",avg(st[i].ccj,st[i].javacj));

}

}

int avg(int a,int b)

{

return (a+b)/2;

}

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

点此我要举报以上信息!

推荐资讯

大家都在看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值