C语言输入一行字符串求非字母非数字的字符个数
时间: 2024-05-05 13:19:50 浏览: 110
可以使用C语言中的字符数组和循环语句来实现输入一行字符串并求非字母非数字的字符个数。具体实现可以参考下面的代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int count = 0;
fgets(str, 100, stdin); // 从标准输入中读取一行字符串
for (int i = 0; str[i] != '\0'; i++) {
if (!isalnum(str[i]) && str[i] != ' ') {
count++;
}
}
printf("非字母非数字的字符个数为%d\n", count);
return 0;
}
```
以上代码中,使用`fgets()`函数从标准输入中读取一行字符串,然后使用循环语句遍历字符串中的每个字符,使用`isalnum()`函数判断字符是否为字母或数字,如果不是字母或数字并且也不是空格,则计数器加1。最后输出计数器的值即可。
相关问题
C语言输入一行字符串,统计其中大写字母、小写字母、空 洛以及数字个数。
好的,我理解了您的要求。以下是使用C语言编写的代码,可以实现您所描述的功能:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int upper = 0, lower = 0, space = 0, digit = 0;
printf("请输入一行字符串:");
fgets(str, 100, stdin);
for (int i = 0; str[i] != '\0'; i++) {
if (isupper(str[i])) {
upper++;
} else if (islower(str[i])) {
lower++;
} else if (isspace(str[i])) {
space++;
} else if (isdigit(str[i])) {
digit++;
}
}
printf("大写字母:%d\n", upper);
printf("小写字母:%d\n", lower);
printf("空格:%d\n", space);
printf("数字:%d\n", digit);
return 0;
}
```
您可以将此代码放入一个C文件中,编译运行后,程序会要求您输入一行字符串,然后统计其中大写字母、小写字母、空格以及数字的个数,并将结果输出。
希望以上代码能够帮到您!如果您有更多问题,可以随时问我。
使用c语言输入一行字符串,统计其中大小写字母、小写字母、数字和其他字符的个数
以下是使用 C 语言编写的统计字符串中各种字符类型的个数的程序:
```c
#include <stdio.h>
int main() {
char str[100];
int uppercase = 0, lowercase = 0, digit = 0, other = 0;
printf("请输入一个字符串:");
fgets(str, 100, stdin);
int i = 0;
while (str[i] != '\0') {
if (str[i] >= 'A' && str[i] <= 'Z') {
uppercase++;
} else if (str[i] >= 'a' && str[i] <= 'z') {
lowercase++;
} else if (str[i] >= '0' && str[i] <= '9') {
digit++;
} else {
other++;
}
i++;
}
printf("字符串中大写字母个数:%d\n", uppercase);
printf("字符串中小写字母个数:%d\n", lowercase);
printf("字符串中数字个数:%d\n", digit);
printf("字符串中其他字符个数:%d\n", other);
return 0;
}
```
运行程序后,会要求用户输入一个字符串,然后统计其中各种字符类型的个数并输出。其中,使用了 `fgets` 函数以避免输入字符串时出现溢出的问题。
阅读全文