c语言用数组输入一个字符串,统计字符串中字母、数字和其它字符的个数。
时间: 2024-05-14 19:19:01 浏览: 97
可以使用字符数组来存储字符串,然后遍历数组,统计字母、数字和其它字符的个数。代码如下:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int letterCnt = 0, digitCnt = 0, otherCnt = 0;
printf("请输入一个字符串:");
gets(str);
for (int i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) {
letterCnt++;
} else if (isdigit(str[i])) {
digitCnt++;
} else {
otherCnt++;
}
}
printf("字母个数:%d\n数字个数:%d\n其它字符个数:%d\n", letterCnt, digitCnt, otherCnt);
return 0;
}
```
其中,`isalpha()` 和 `isdigit()` 是 C 标准库中的函数,用于判断字符是否为字母和数字。`gets()` 函数用于从标准输入中读取字符串。注意,`gets()` 函数存在安全问题,建议使用 `fgets()` 函数替代。
相关问题
C语言用数组输入一行字符串,统计其中大写字母、小写字母、空 洛以及数字个数。
好的,您的问题是关于 C 语言中如何统计输入字符串中大写字母、小写字母、空格和数字的个数。可以通过以下代码实现:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char str[100];
int len, i, upper=0, lower=0, space=0, digit=0;
printf("请输入一行字符串:\n");
fgets(str, 100, stdin);
len = strlen(str);
for(i=0; i<len; 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;
}
```
首先通过 `fgets` 函数读取用户输入的字符串,并使用 `strlen` 函数获取字符串的长度。然后使用一个循环遍历字符串中的每个字符,使用 `isupper`、`islower`、`isspace` 和 `isdigit` 函数判断字符的类别,并统计对应类别的字符个数。最后输出结果即可。
c语言,输入一个字符串,统计字符串中大写字母的个数
在C语言中,你可以使用标准库函数`ctype.h`提供的`isupper()`函数来判断一个字符是否为大写字母,然后配合循环遍历字符串进行计数。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int count_uppercase(const char *str) {
int uppercase_count = 0;
while (*str != '\0') { // 遍历直到遇到字符串结束符'\0'
if (isupper(*str)) { // 如果字符是大写字母
uppercase_count++; // 计数加一
}
str++; // 移动到下一个字符
}
return uppercase_count; // 返回大写字母的总数
}
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 获取用户输入,忽略换行符
input[strcspn(input, "\n")] = '\0'; // 清除fgets添加的换行符
int uppercase_count = count_uppercase(input);
printf("字符串中共有 %d 个大写字母。\n", uppercase_count);
return 0;
}
```
当你运行这个程序并输入一个字符串后,它会计算其中的大写字母数量并打印出来。
阅读全文