C语言程序设计练习:函数count的功能是:统计一个字符串中大写字母的个数。在主函数中输入两个字符串和输出结果,不能用strcat函数
时间: 2024-05-04 18:16:46 浏览: 168
C语编写一个函数,由实参传入一串字符,统计这串字符中字母、数字、空格、和其他 字符的个数,在主函数中输入字符串以及输出上述结果。
5星 · 资源好评率100%
好的,我可以帮你介绍一下这个函数的实现方法。
首先,我们需要定义一个函数 `count`,它的参数是一个字符串,返回值是大写字母的个数。可以使用循环遍历字符串的每一个字符,判断该字符是否是大写字母,如果是则将计数器加1。最后返回计数器的值即可。
下面是示例代码:
```c
#include <stdio.h>
int count(char str[]) {
int cnt = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
cnt++;
}
}
return cnt;
}
int main() {
char str1[100], str2[100];
printf("请输入字符串1:");
gets(str1);
printf("请输入字符串2:");
gets(str2);
printf("字符串1中大写字母的个数为:%d\n", count(str1));
printf("字符串2中大写字母的个数为:%d\n", count(str2));
return 0;
}
```
在主函数中,我们先定义两个字符数组 `str1` 和 `str2`,并使用 `gets` 函数从标准输入中读取两个字符串。然后分别调用 `count` 函数统计两个字符串中大写字母的个数,并输出结果。
需要注意的是,由于 `gets` 函数存在安全性问题,可以使用更安全的 `fgets` 函数代替。另外,由于字符串中可能包含空格和换行符等特殊字符,因此在判断字符是否是大写字母时需要使用 ASCII 码进行比较。
阅读全文