c语言输入一个字符串,求非字母数字字符的个数
时间: 2024-05-11 09:16:35 浏览: 11
可以使用C语言中的字符串处理函数和循环结构来解决这个问题。以下是一个示例代码:
```
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char str[100];
int count = 0;
fgets(str, 100, stdin); // 输入字符串
for (int i = 0; i < strlen(str); i++) {
if (!isalnum(str[i])) {
count++;
}
}
printf("非字母数字字符的个数为%d", count);
return 0;
}
```
在这个代码中,我们首先使用fgets函数从标准输入中读取一个字符串。然后使用循环结构遍历字符串中的每个字符,使用isalnum函数判断该字符是否为字母或数字,如果不是,则计数器加一。最后输出计数器的值即可。
相关问题
C语言输入一个字符串,统计其中数字的个数
```
#include <stdio.h>
int main() {
char str[100];
int i, count = 0;
printf("Enter a string: ");
scanf("%[^\n]%*c", str);
for (i = 0; str[i] != '\0'; i++) {
if (str[i] >= '0' && str[i] <= '9') {
count++;
}
}
printf("Number of digits in the string: %d", count);
return 0;
}
```
输入一个字符串,使用循环遍历字符串中的每个字符,如果该字符是数字,则将计数器加1。最后输出数字个数。
用c语言求一个给定字符串中的字母的个数
可以用C语言中的字符数组和循环语句来实现统计给定字符串中字母的个数。下面是一个示例代码:
```c
#include <stdio.h>
#include <ctype.h> // 包含字符处理函数的头文件
int main() {
char str[100];
int count = 0;
printf("请输入一个字符串:");
fgets(str, 100, stdin); // 从标准输入读取字符串
for(int i = 0; str[i] != '\0'; i++) {
if(isalpha(str[i])) { // 判断当前字符是否是字母
count++;
}
}
printf("字符串中字母的个数为:%d\n", count);
return 0;
}
```
在这个示例代码中,我们先定义了一个字符数组 `str` 来存储输入的字符串,然后定义一个整型变量 `count` 来记录字母的个数。接下来,我们使用 `fgets()` 函数从标准输入中读取输入的字符串,遍历字符串中的每一个字符,使用 `isalpha()` 函数判断该字符是否是字母,如果是,就将 `count` 的值加 1。最后输出统计结果。
值得注意的是,我们在程序开头包含了 `ctype.h` 头文件,这个头文件中包含了许多字符处理函数,其中就包括 `isalpha()` 函数,可以用来判断一个字符是否是字母。