C语言
#include<stdio.h>int main()
{
float a;
int b,c;
scanf("%lf",&a);
while(a!=-1)
{
if(a>=90&&a<=100){
b++;
}
else if( a>=0&&a<=60 )
{
c++;
}
}
printf("%d%d",b,c);
return 0;
}麻烦大家帮我看一下这个程序,为什么运行时,输入数之后,按回车键结束,程序就卡住了 你那个a为啥要以浮点数的形式输入呢? qiuyouzhi 发表于 2020-5-7 15:29
你那个a为啥要以浮点数的形式输入呢?
要输入成绩,有小数的
本帖最后由 PC_ 于 2020-5-7 15:48 编辑
#include<stdio.h>
int main()
{
double a = 0;
int b = 0 ,c = 0;
scanf("%lf",&a);
while(a != -1)
{
if(a >= 90 && a <= 100)
{
b++;
}
else if(a >= 0 && a <= 60)
{
c++;
}
break;
}
printf("%d %d\n" ,b ,c);
return 0;
}
三个问题 : 第一个是死循环 , 没有跳出循环的语句 ; 第二个是未赋值 , 应将变量初始化 ; 第三个是类型不正确 , 应该是double类型 , float类型范围太小{:10_257:} 因为你在while循环中没有修改a的值,所以死循环了
#include<stdio.h>
int main()
{
float a;
int b=0,c=0;
scanf("%f",&a);
while(a!=-1)
{
if(a>=90&&a<=100){
b++;
}
else if( a>=0&&a<=60 )
{
c++;
}
scanf("%f",&a);
}
printf("%d,%d",b,c);
return 0;
}
页:
[1]