c语言统计学生两门成绩,c语言编程:逐个输入n个学生的两门课成绩,统计有一门不及格的人数和两门不及格的人数各是多少?...

c语言编程:逐个输入n个学生的两门课成绩,统计有一门不及格的人数和两门不及格的人数各是多少?

mip版  关注:224  答案:4  悬赏:0

解决时间 2021-01-25 08:09

00a59640a4fa9d07f846b0877119811f.png

已解决

2021-01-24 18:48

最好有解析啊

最佳答案

b941d7fe4b5c9899aa5c250481cbab40.png

2021-01-24 19:44

#include

main(){

int i;

int j=1;//j为当前输入的学生号码

int k,l;//用于接受学生课程的成绩

int m=0,n=0;//接受1门及格的和两门及格的

printf("请输入学生人数:");

scanf("%d",&i);

for(;i>0;i--,j++){//循环控制输入成绩组的个数

printf("请输入第%d",j);

printf("个学生的成绩:\n");

scanf("%d%d",&k,&l);

if(k<60&&l>=60){//只有一门及格

m++;

}

if(k>=60&&l<60){//只有一门及格

m++;

}

if(k<60&&l<60){//两门都不及格

n++;

}

}

printf("只有一门及格的学生有%d",m);//输出统计结果

printf("个\n");

printf("两门都不及格的学生有%d",n);

printf("个\n");

}

全部回答

cf83cb925eb985623066531976432ae4.png

1楼

2021-01-24 21:15

main()

{ int n=10,m1=0,n2=0,a,b,i;

for(i=1;i<=n;i++)

{ scanf("%d%d",&a,&b);

if((a-60)*(b-60)<0) m1++;

if((a<60)&&(b<60)) n2++;

}

printf("一门不及格人数=%d,两门不及格人数=%d \n",m1,n2);

}

58ab43492c73b822f750eeb1fa8518c8.png

2楼

2021-01-24 20:07

#include

main()

{

int n,i=0,k=0,l=0;//K用来计算2门不及格人数,l计算1门不及格人数

float score1[100],score2[100];//最大可以容纳100个人进行不及格人数的计算

printf("请输入人数:");

scanf("%d",&n);

for(i=0;i

{

printf("请输入%d号学生第一门课的成绩",i+1);

scanf("%f",&score1[i+1]);

printf("请输入%d号学生第二门课的成绩",i+1);

scanf("%f",&score2[i+1]);

}

for(i=0;i

{

if(score1[i+1]<60&&score2[i+1]<60)//2门不及格人数

k++;//k就是有一个2门不及格的人就加1

else if(score1[i+1]<60||score2[i+1]<60)//意义同上

l++;

}

printf("一门不及格的人数是%d,二门都不及格的人数是%d\n",l,k);

}

8c6aa2fce5a32659b1ba4d74848841e2.png

3楼

2021-01-24 19:57

定义一个结构体:

struct student

{

int score1;

int score2;

};

主函数里声明一个长度为n的student结构体数组,例如student p[100];然后循环输入成绩,定义2个计数器int count1=0,count2=0计算不及格一门和不及格2门的个数;

for(i=0;i

{

printf(“输入该学生成绩”);

scanf("%d,%d",&p[i].score1,&p[i].score2);

if(p[i].score1<60 || p[i].score2 <60)

count1++;

else if(p[i].score1<60 || p[i].score2 <60)

count2++;

}

输出count1就是不及格一门的人数count2就是都不及格的人数

我要举报

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

点此我要举报以上信息!

推荐资讯

大家都在看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值