#include<stdio.h>
int main() {
char text[1000];
int ch;
int index = 0;
while ((ch = getchar()) != EOF) {
text[index] = ch;
index++;
}
text[index] = '\0';
int i =0;
int num_Count=0;
int lower_Count=0;
int upper_Count =0;
while(i < index) {
if((text[i]>='0') && (text[i]<='9')){
num_Count ++;
i++;
}
else if((text[i]>='A') && (text[i]<='Z')){
upper_Count++;
i++;
}
else if((text[i]>='a') && (text[i] <='z')){
lower_Count++;
i++;
}
else
i++;
}
printf("%d %d %d", num_Count, lower_Count, upper_Count);
return 0;
}
是输入句子时输出小写,大写和数字的程序。 例如,
Hi
Name
100
将输出3 4 2
我一直看到运行时错误。 (while)部分似乎是错误的。我不知道怎么了。
答案 0 :(得分:1)
我在系统中运行了您的代码,并检查了输入:Hi Name 100
。我得到的输出是3 4 2
,这是预期的输出。我觉得唯一可以在无限循环中运行代码的地方是在读取输入时。尝试对EOF
使用 ctrl + d 或对于Windows使用 ctrl + z 。
别担心一切都好
答案 1 :(得分:0)
EOF表示文件结束。当您从文件读取数据时使用它。我建议放置像换行符('\ n')这样的字符。