fifa18经理模式买人:``谁能帮我调试一个小程序!!!!~~很简单的C语言的

来源:百度文库 编辑:高校问答 时间:2024/05/03 06:12:12
求一个班上31位同学80分以上的成绩`
main()
{
int r,f,d;
for(i=1;i<31;i++)
{
printf("请输入成绩\n");
scanf("%d",&r);
if(r>80||r<100)
d+=1;
}
printf("80分上的人数为:%d\n",d);
}
这个程序错了么?为什么我老师一看第一眼就说错的呢?错在哪``应该怎么改??下面我用一维数组来编请高手!!!看看`帮忙纠正一下谢谢了分一定会加
main()
{
int sot[31];
int i,d;
for(i=0;i<31;i++)
{
printf("请输入同学的成绩\n");
scanf("%d",&i);
if(i>80||i<100)
d+=1;
}
printf("80的人数为:%d\n",d):
}
拜托了``嘿嘿``最高出些难难难难题``用1维数组编的程序~~~~ 耍耍老师也是一件很有乐趣的事情
最好加我QQ 524073654
~~~~~~~~~~~ 求高手啊!!!!!!我们老师是大学专科毕业的~~~兄弟们`看你们的难题了``

main()
{
int r,f,d;
for(i=1;i<31;i++) //变量i没有定义
{
printf("请输入成绩\n");
scanf("%d",&r);
if(r>80||r<100) //或符号,就是说大于80或者是小于100的数,改为逻辑与符号为大于80且小于100的数
d+=1; //变量d没有赋初值,从何加起???

main()
{
int sot[31];
int i,d;
for(i=0;i<31;i++)
{
printf("请输入同学的成绩\n");
scanf("%d",&i); //是把输入的数存到sot数组里面
if(i>80||i<100) //改为逻辑与就可以了
d+=1; //d没有赋初值
}
printf("80的人数为:%d\n",d);
}

#include<stdio.h>
main()
{
int r,f,d=0,i;
for(i=1;i<=31;i++)
{
printf("请输入成绩\n");
scanf("%d",&r);
if(r>80&&r<100)
d++;
}
printf("80分上的人数为:%d\n",d);
}

#include<stdio.h>
main()
{
int sot[31];
int i,d=0;
for(i=0;i<31;i++)
{
printf("请输入同学的成绩\n");
scanf("%d",&sot[i]);
if(sot[i]>80&&sot[i]<100)
d++;
}
printf("80的人数为:%d\n",d);
}

#include<stdio.h>
main()
{
int r,f,d=0,i;
for(i=1;i<=31;i++)
{
printf("请输入成绩\n");
scanf("%d",&r);
if(r>80&&r<100)
d++;
}
printf("80分上的人数为:%d\n",d);
}

#include<stdio.h>
main()
{
int sot[31];
int i,d=0;
for(i=0;i<31;i++)
{
printf("请输入同学的成绩\n");
scanf("%d",&sot[i]);
if(sot[i]>80&&sot[i]<100)
d++;
}
printf("80的人数为:%d\n",d);
}

问题:第一:变量要初始化。
第二:循环的次数不够,只有30次。
第三:判断逻辑有问题,不应该为或,而应该为(r>80&&r<=100)

不用数组,你把||改成&&就可以了。

||改成&&