打印小写,大写和数字

时间:2018-10-20 09:24:15

标签: c uppercase lowercase

#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)部分似乎是错误的。我不知道怎么了。

2 个答案:

答案 0 :(得分:1)

我在系统中运行了您的代码,并检查了输入:Hi Name 100。我得到的输出是3 4 2,这是预期的输出。我觉得唯一可以在无限循环中运行代码的地方是在读取输入时。尝试对EOF使用 ctrl + d 或对于Windows使用 ctrl + z

别担心一切都好

答案 1 :(得分:0)

EOF表示文件结束。当您从文件读取数据时使用它。我建议放置像换行符('\ n')这样的字符。