이 코드 :
#include <stdio.h>
int main(void)
{
int array[] = { 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, };
int a_size = sizeof(array)/sizeof(array[0]);
int i = 0;
while (i < a_size)
{
if (array[i] == 0)
{
int j;
for (j = i; j < a_size; j++)
if (array[j] != 0)
break;
printf("%d\n", j - i);
i = j;
}
else
i++;
}
return 0;
}
이 출력을 생성합니다. 그것이 당신이 원하는 것이 아니라면, 당신이 원하는 것을 더 분명하게 설명해야합니다.
개정 예상 출력
개정 코드 :
#include <stdio.h>
int main(void)
{
int array[] = { 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, };
int a_size = sizeof(array)/sizeof(array[0]);
int i = 0;
while (i < a_size)
{
if (array[i] == 0)
{
int j;
for (j = i; j < a_size; j++)
if (array[j] != 0)
break;
int k = j - i;
while (k > 0)
printf(" %d", k--);
i = j;
}
else
{
printf(" '");
i++;
}
}
putchar('\n');
return 0;
}
개정 출력 :
4 3 2 1 ' 1 ' 12 11 10 9 8 7 6 5 4 3 2 1 '
더 설명해주십시오! 내가 이해가 안 돼요 ... – MeNa
기본적으로 다음 비 - 제로 번호까지 걸리는 카운트 다운을 표시하고 싶습니다. 첫 번째 경우에 ... 번호 '4'에 도달 할 때까지 처음 0부터 카운트 다운 표시 4 그래서 4,3,2,1 "실제 번호". 그런 다음 4에서 1까지 1은 1입니다. 즉, 1, "실제 숫자"등 –
글쎄, 배열을 여러 번 읽을 수 있습니까? 귀하의 프로그램의 목적은 무엇입니까? –