用c语言定义一个函数,分别返回字符串中大写,小写和数字字母的个数
时间: 2024-05-08 19:17:47 浏览: 11
```c
#include <stdio.h>
void count_chars(char *str, int *upper, int *lower, int *digit) {
*upper = 0;
*lower = 0;
*digit = 0;
while (*str != '\0') {
if (*str >= 'A' && *str <= 'Z') {
(*upper)++;
} else if (*str >= 'a' && *str <= 'z') {
(*lower)++;
} else if (*str >= '0' && *str <= '9') {
(*digit)++;
}
str++;
}
}
int main() {
char str[] = "Hello, World! 123";
int upper, lower, digit;
count_chars(str, &upper, &lower, &digit);
printf("Uppercase: %d\nLowercase: %d\nDigits: %d\n", upper, lower, digit);
return 0;
}
```
输出:
```
Uppercase: 2
Lowercase: 10
Digits: 3
```
相关问题
用c语言定义一个函数,分别返回字符串中小写字母、大写字母和数字字母的个数。
```c
#include <stdio.h>
#include <ctype.h> // 包含islower、isupper、isdigit函数的头文件
void count_chars(char str[], int *lower, int *upper, int *digit) {
int i = 0;
*lower = 0;
*upper = 0;
*digit = 0;
while (str[i] != '\0') {
if (islower(str[i])) {
(*lower)++;
} else if (isupper(str[i])) {
(*upper)++;
} else if (isdigit(str[i])) {
(*digit)++;
}
i++;
}
}
int main() {
char str[] = "Hello, World! 123";
int lower, upper, digit;
count_chars(str, &lower, &upper, &digit);
printf("Lowercase letters: %d\n", lower);
printf("Uppercase letters: %d\n", upper);
printf("Digits: %d\n", digit);
return 0;
}
```
c语言分别统计一个字符串中出现小写字母大写字母数字和空格的个数
好的,您可以用以下C语言代码实现该功能:
```
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
char str[100];
int i, len, digit, upper, lower, space;
printf("请输入字符串:");
gets(str);
len = strlen(str);
digit = upper = lower = space = 0;
for(i = 0; i < len; i++)
{
if(isdigit(str[i])) // 统计数字个数
digit++;
else if(isupper(str[i])) // 统计大写字母个数
upper++;
else if(islower(str[i])) // 统计小写字母个数
lower++;
else if(str[i]==' ') // 统计空格个数
space++;
}
printf("数字个数:%d\n", digit);
printf("大写字母个数:%d\n", upper);
printf("小写字母个数:%d\n", lower);
printf("空格个数:%d\n", space);
return 0;
}
```
注意,此代码使用了gets()函数获取字符串,它并不安全,因为它无法防止缓冲区溢出,建议使用更安全的fgets()函数来替代。