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