#include <stdio.h> #include <ctype.h> int main() { int word[26]={0},i; char ch; while((ch = getchar()) != EOF){ //ctrl+z 结束输入 if(islower(ch)) word[ch - 'a']++; } for(i = 0;i < 26; i++){ if(word[i]) printf("%c:%d\n", i+'a', word[i]); } return 0; }
时间: 2024-04-15 18:24:56 浏览: 67
这段代码是一个简单的统计输入文本中每个小写字母出现次数的程序。它使用了一个长度为26的整型数组word来存储每个字母出现的次数。
程序通过循环读取输入的字符,直到遇到文件结束符EOF(在Windows下通常是Ctrl+Z)。使用islower函数判断字符是否为小写字母,如果是,则将对应的字母在数组中的计数加一。
最后,程序遍历整型数组,如果某个字母的计数大于0,则输出该字母和对应的计数。
注意,这段代码假设输入的文本只包含小写字母,并且忽略了其他字符。如果输入包含其他字符,可能会导致程序输出错误的结果。
相关问题
#include <stdio.h> #include <ctype.h> int main() { char input[1001]; int alpha_count = 0, d
`#include <stdio.h>` 和 `#include <ctype.h>` 是 C 语言程序中常用的头文件,分别包含了输入输出函数库 (stdio) 和字符处理函数库 (ctype)。
在这个 `main` 函数中,你创建了一个长度为 1001 的字符数组 `input`,用于存储用户输入的信息。变量 `alpha_count` 初始化为 0,它将用于计数输入字符串中的字母数量。`d` 可能是指一个未完全显示的字符,因为这里省略了其后面的变量名。
这个函数可能是用来读取用户输入,并统计其中包含的字母(即 ASCII 码值在 'a' 到 'z' 或者 'A' 到 'Z' 范围内的字符)。`ctype.h` 库中的函数如 `isalpha()` 可能会被用来判断每个字符是否为字母。
接下来的代码可能会是这样的:
```c
printf("请输入字符串: ");
fgets(input, sizeof(input), stdin); // 从标准输入读入数据
for (int i = 0; input[i] != '\0'; ++i) { // 遍历输入字符串
if (isalpha(input[i])) { // 如果字符是字母
alpha_count++; // 增加字母计数
}
}
printf("输入字符串中的字母数量: %d\n", alpha_count);
```
#include <stdio.h> #include <string.h> #include <ctype.h> int main(){ char str[81]; gets(str); for( int i=0; i<strlen(str); i++ ) if( isupper(str[i]) )str[i]='A'+'Z'-str[i]; for( int i=0; i<strlen(str); i++ )printf("%c",str[i]); return 0; }
这是一段 C 语言代码,它的功能是将输入的字符串中的所有大写字母转换成对应的小写字母,所有小写字母转换成对应的大写字母,并输出转换后的字符串。
具体地,该代码首先使用 `gets` 函数读入一个字符串,并存储到字符数组 `str` 中。接着,它使用一个循环遍历整个字符串,判断每个字符是否是大写字母(使用 `isupper` 函数),如果是,则将该字符转换成对应的小写字母(通过将其 ASCII 码值加上 `'a'-'A'`),并存储回原来的位置。
然后,该代码再使用一个循环遍历整个字符串,逐个输出每个字符(使用 `printf` 函数和 `%c` 格式控制符)。最后,程序执行完毕,返回值为 0。
因此,该代码的作用是将输入的字符串中的大小写字母互相转换,并输出转换后的字符串。
阅读全文