为什么无法输出呢?编译也没有问题啊?

来源:百度知道 编辑:UC知道 时间:2024/06/09 00:19:36
测试单词长度并输出,代码如下,请高手不吝赐教
#include <stdio.h>
main()
{
char c;
int a[10] = {0};
int wordc = 0,i = 1;

c = getchar();
while(c <='A'|| c >= 'z')
{
c = getchar();
}

while(c != EOF)
{
while(c >= 'A' && c <= 'z')
{
++wordc;
c = getchar();
}

a[i] = wordc;

while(c <='A'|| c >= 'z')
{
c=getchar();
}

wordc = 0;
i++;
}

for(i = 1;i <=9;i ++)
{
printf("%d,",a[i]);
}
}

while(c != EOF)
{
while(c >= 'A' && c <= 'z')
{
++wordc;
c = getchar();
}

a[i] = wordc;

while(c <='A'|| c >= 'z')
{
c=getchar();
}

wordc = 0;
i++;
}
上面那部分循环出不来啊。当c == -1时外面循环停止,但是里面循环出不来啊,继续,因为c <='A' || c >= 'Z',如果出来了c又不等于-1,那就一直输入吧

#include <stdio.h>
main()
{
char c;
int a[10] = {0};
int wordc = 0,i = 0;

a[0]=getchar();
while(a[i] != '\n')
{
if(a[i] >= 'a' && a[i] <= 'z'||a[i]>='A'&&a[i]<='Z')
++wordc;

i++;
a[i]=getchar();
}

for(i = 0;i <=9;i ++)
{
printf("%3c",a[i]);
}
printf("\n%d",wordc);
}
楼主好简单的程序。你写的。。。。。乱七八糟了。看下