c语言遍历统计字符串字符个数
时间: 2024-01-04 10:46:02 浏览: 92
可以使用循环遍历字符串,并对每个字符进行判断,统计出现次数。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int len, count = 0;
printf("输入一个字符串:");
gets(str);
len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] != ' ') {
count++;
}
}
printf("字符个数为:%d\n", count);
return 0;
}
```
上述代码中,先通过 `gets()` 函数获取用户输入的字符串,再使用 `strlen()` 函数获取字符串长度。然后使用循环遍历字符串中的每个字符,如果该字符不是空格,则计数器加一。最后输出计数器的值即可。
相关问题
如何用C语言编写一个程序来统计字符串中各字母出现的次数并遍历整个字符串
在C语言中,你可以通过创建一个字符数组存储每个字母及其对应的计数,然后遍历输入的字符串来实现这个功能。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类型的函数
#define ALPHABET_SIZE 26 // ASCII 码中A-Z共有26个字母
// 初始化字母计数数组
int letter_counts[ALPHABET_SIZE] = {0};
void count_letters(char* str) {
while (*str != '\0') { // 遍历直到字符串结束
char current_char = toupper(*str); // 转换为大写,以便统一计数
if (isalpha(current_char)) { // 检查是否是字母
int index = current_char - 'A'; // 计算字母在数组中的索引
letter_counts[index]++;
}
str++; // 移动到下一个字符
}
}
int main() {
char input_string[100];
printf("请输入一个字符串:");
fgets(input_string, sizeof(input_string), stdin);
input_string[strlen(input_string)-1] = '\0'; // 删除fgets读取的换行符
count_letters(input_string);
printf("各字母出现次数:\n");
for (int i = 0; i < ALPHABET_SIZE; i++) {
if (letter_counts[i]) {
printf("%c 出现了 %d 次\n", 'A' + i, letter_counts[i]);
}
}
return 0;
}
```
在这个程序中,`count_letters` 函数负责统计字母,`main` 函数获取用户输入的字符串并调用 `count_letters`。最后,它会打印出每个字母及其出现的次数。
用c语言实现统计字符串中输入的数字字符个数
可以使用C语言中的字符数组和循环语句来实现统计字符串中输入的数字字符个数的功能。代码如下:
```c
#include <stdio.h>
int main() {
char str[100];
int count = 0, i;
printf("请输入一个字符串:");
scanf("%s", str);
for (i = 0; str[i] != '\0'; i++) {
if (str[i] >= '0' && str[i] <= '9') {
count++;
}
}
printf("数字字符个数为:%d\n", count);
return 0;
}
```
首先定义一个字符数组 `str`,用来存储输入的字符串。然后定义一个变量 `count`,用来记录字符串中数字字符的个数,初始值为0。
使用 `scanf` 函数获取用户输入的字符串。
使用 `for` 循环遍历字符串中的每一个字符,判断该字符是否是数字字符。如果是数字字符,将 `count` 的值加1。
最后输出数字字符的个数。
注意:在 C 语言中,字符串以 '\0' 结尾,因此在循环中判断字符串是否结束需要使用 `str[i] != '\0'`。
阅读全文