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
と思われます。それが終了するように避ける方法?
問題の動作を示す最小限の例を考え出すことができますか?ここにはたくさんのことがあります。一文字変数を使用して以来、このプロシージャが何をすべきかを決定することは難しいです。 –
なぜprintf( " - 1")ですか?なぜ印刷しないのですか( " - 1")? – DanRedux
'while'ループに入る前に' a'を初期化していないことに気付きました。 – chrisaycock