我想申請一個while循環並寫入了while (a!=-1)
;它應該退出,但它總是打印「0」,我不知道爲什麼。你可以解釋嗎?在while循環中打印零位
#include <stdio.h>
int main()
{
long num;
int a,i,j;
int arr[10000];
float x;
while(a != -1)
{
scanf("%d",&a);
int sum=0;
for(i=0;i<a;i++)
{
scanf("%d",&arr[i]);
sum = sum + arr[i];
}
x = sum%a;
if (x == 0)
{
int z = sum/a;
int y=0;
for(j=0;j<a;j++)
{
if (arr[j]>z)
{
y = (arr[j] - z) + y ;
}
}
printf("%d",y);
}
else
printf("-1");
}
}
我認爲這是印刷y
;如何避免這樣只會退出?
你能想出一個顯示問題行爲的最小例子嗎?這裏有很多事情要做,因爲你使用了單字母變量,所以很難確定這個過程應該做什麼。 – 2012-03-12 04:50:28
爲什麼printf(「 - 1」)?爲什麼不打印(「 - 1」)? – DanRedux 2012-03-12 04:50:34
我注意到在進入'while'循環之前你還沒有初始化'a'。 – chrisaycock 2012-03-12 04:50:57