我这个c语言程序运行不出来,求高手帮忙看下 哪里错了~~ 谢谢

2025年01月05日 11:36
有1个网友回答
网友(1):

#include
# include
int main()
{
int x,y=0,n=0,sum=0;
double avg;
loop:scanf("%d",&x);
n++;
sum+=x;
if(n<5)
{
if(x<0||x>100)
{
printf("false\n");
n--;
sum-=x;
goto loop;
}
y++;
goto loop;
}
avg=(double)sum/n;
printf("sum=%d,avg=%lf",sum,avg);
system("pause");
}

改了几个地方,首先你的输出有问题
printf("sum=%d,avg=%lf",sum,avg);
avg后面要用%lf 因为你avg是double类型的

其次你循环有问题
loop:scanf("%d",&x);
n++;
sum+=x;
sum应该写在这里,不然第5个不会进入if,所以,滴5个不会加进去

其次
if(x<0||x>100)
{
printf("false\n");
n--;
sum-=x;
goto loop;
}
因为这时候输入不合法,所以sum要减去x,而且你前面n自加了,但是这是个不合法的数据,所以n要自减