c语言从键盘输入一个字符串,统计字符串中大写字母的个数,要求统计大写字母的个数用自定义函数实现。 只编写大写字母字符统计的自定义函数 int fact(char str[])程序。 主函数如下 #include<stdio.h> int main() { int res; char s[50]; gets(s); res=fact(s); printf("%d",res); return 0; } 输入格式: 输入一个字符串(长度不超过49个字符) 输出格式: 以整型格式输出结果 输入样例: Hello World! 输出样例: 2
时间: 2024-02-02 16:04:34 浏览: 30
好的,我知道了。下面是符合要求的代码:
```
#include <stdio.h>
int fact(char str[]) {
int count = 0;
for(int i = 0; str[i] != '\0'; i++) {
if(str[i] >= 'A' && str[i] <= 'Z') {
count++;
}
}
return count;
}
int main() {
int res;
char s[50];
gets(s);
res = fact(s);
printf("%d", res);
return 0;
}
```
这个程序中,`fact` 函数用于统计大写字母的个数。它遍历整个字符串,如果当前字符是大写字母,就将计数器加1。最终返回计数器的值。在 `main` 函数中,我们调用 `fact` 函数统计大写字母的个数,并将结果打印出来。
需要注意的是,`gets` 函数已经不建议使用了,因为它存在安全漏洞。可以使用 `fgets` 函数代替。同时,在 `fact` 函数中,我们使用了字符数组的遍历方式来遍历字符串。这种方式适用于 C 语言中的字符串操作,但是需要注意字符串的结尾符 `\0`。
相关问题
用C语言写键盘输入一个字符串,统计其中的大写字母、小写字母、数字字母、其他字符的个数
以下是用C语言实现键盘输入一个字符串,统计其中的大写字母、小写字母、数字字母、其他字符的个数的代码:
```c
#include <stdio.h>
int main() {
char str[100];
int i, upper = 0, lower = 0, digit = 0, other = 0;
printf("请输入一个字符串:");
gets(str);
for (i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
upper++;
} else if (str[i] >= 'a' && str[i] <= 'z') {
lower++;
} else if (str[i] >= '0' && str[i] <= '9') {
digit++;
} else {
other++;
}
}
printf("大写字母个数:%d\n", upper);
printf("小写字母个数:%d\n", lower);
printf("数字个数:%d\n", digit);
printf("其他字符个数:%d\n", other);
return 0;
}
```
首先定义了一个字符数组 `str` 来存储输入的字符串,以及四个整型变量 `upper`、`lower`、`digit`、`other` 来分别统计大写字母、小写字母、数字和其他字符的个数。
然后通过 `gets` 函数获取用户输入的字符串。注意:`gets` 函数不会判断输入的字符串长度,可能会导致缓冲区溢出,因此在实际使用中需要使用更安全的字符串输入函数,比如 `fgets`。
接着使用 `for` 循环遍历字符串中的每个字符,并根据 ASCII 码判断该字符是大写字母、小写字母、数字还是其他字符,并分别对 `upper`、`lower`、`digit`、`other` 变量进行累加。
最后输出各个字符类型的个数即可。
C语言键盘输入一个字符串,统计其中的大写字母、小写字母、数字字母、其他字符的个数。
下面是一个C语言程序,可以实现键盘输入一个字符串,然后统计其中的大写字母、小写字母、数字字母、其他字符的个数。
```c
#include <stdio.h>
int main() {
char str[100];
int i, uppercase_letters, lowercase_letters, digits, other_chars;
uppercase_letters = lowercase_letters = digits = other_chars = 0;
printf("请输入一个字符串:");
scanf("%s", str);
for (i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
uppercase_letters++;
} else if (str[i] >= 'a' && str[i] <= 'z') {
lowercase_letters++;
} else if (str[i] >= '0' && str[i] <= '9') {
digits++;
} else {
other_chars++;
}
}
printf("大写字母个数:%d\n", uppercase_letters);
printf("小写字母个数:%d\n", lowercase_letters);
printf("数字个数:%d\n", digits);
printf("其他字符个数:%d\n", other_chars);
return 0;
}
```
这个程序中,首先定义了一个字符数组 `str`,用来存储输入的字符串。然后定义了4个变量 `uppercase_letters`、`lowercase_letters`、`digits`、`other_chars`,分别用来统计大写字母、小写字母、数字和其他字符的个数。这里使用了多重赋值语句,将这4个变量都初始化为0。
程序通过 `scanf` 函数从键盘读取输入的字符串,然后使用 `for` 循环遍历字符串中的每一个字符。在循环中,使用 `if-else` 语句判断当前字符是大写字母、小写字母、数字还是其他字符,然后相应的变量加1。最后,输出各个变量的值,即为统计结果。