|
안녕하세요
c를 공부하고 있는데요
워드를 읽어들여서
그 길이를 히스토그램으로 나타내는 프로그램을 짜봤는데
#include <stdio.h>
main()
{
int lenth[10];
int m,i,j,k,c;
int state = 0 ;/* 워드 안인지 밖인지 나타내는 변수입니다. 1이면 안, 0이면 밖입니다.*/
j=0;
for( m = 0 ; m <= 9 ; ++m)
lenth[m]=0;
while( (c=getchar()) != EOF) {
if( c == ' '|| c == '\t' || c == '\n') {
if(state == 0)
;
else {
state = 0;
++j;
}
}
else {
if (state == 0)
state = 1;
++lenth[j];
}
}
for ( i =0 ; i <= 9 ; ++i) {
for (k=1 ; k <= lenth[i] ; ++k)
printf("*");
printf("\n");
k = 0;
}
return 0;
}
이렇게 짰거든요
그런데 결과는 항상 lenth[0] 이 생략되서 나온거든요
예를 들어
a
aa
aaa
aaaa
aaaaa
aaaaaa
aaaaaaa
aaaaaaaa
aaaaaaaaa
aaaaaaaaaa
이렇게 입력하면
**
***
****
.....
**********
이렇게 나옵니다.
뭐가 잘못된건지 저로서는 잘 않보이는데 좀 알려주세요
그럼 이만
|