c语言编程:逐个输入n个学生的两门课成绩,统计有一门不及格的人数和两门不及格的人数各是多少?
mip版 关注:224 答案:4 悬赏:0
解决时间 2021-01-25 08:09
已解决
2021-01-24 18:48
最好有解析啊
最佳答案
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");
}
全部回答
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);
}
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);
}
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就是都不及格的人数
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上信息!
推荐资讯
大家都在看