使用c语言编程字符数组实现:输入一串字符,计算其中大写字母和小写字母的个数。提示:定义长度为40的字符数组,使用gets()函数获取字符串。
时间: 2024-03-02 17:48:58 浏览: 131
好的,以下是实现代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[40];
int i, upperCount = 0, lowerCount = 0;
printf("请输入一串字符:");
gets(str);
for (i = 0; i < strlen(str); i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
upperCount++;
} else if (str[i] >= 'a' && str[i] <= 'z') {
lowerCount++;
}
}
printf("大写字母个数:%d\n", upperCount);
printf("小写字母个数:%d\n", lowerCount);
return 0;
}
```
代码解释:
1. 首先定义一个长度为40的字符数组`str`;
2. 使用`gets()`函数获取字符串,存储到数组`str`中;
3. 通过遍历数组`str`中每个字符,判断其是否为大写字母或小写字母,如果是则对应计数器加1;
4. 最后输出大写字母和小写字母的个数。
相关问题
用字符数组完成:输入10个字符,统计其中大写,小写,数字字符的个数。
要使用字符数组完成这个功能,你需要首先接收用户的输入,然后遍历这个数组以判断每个字符是大写字母、小写字母还是数字。这里是一个简单的C语言程序示例:
```c
#include <stdio.h>
int is_upper(char c) {
return (c >= 'A' && c <= 'Z');
}
int is_lower(char c) {
return (c >= 'a' && c <= 'z');
}
int is_digit(char c) {
return (c >= '0' && c <= '9');
}
void count_chars(char arr[], int len) {
int upper_count = 0, lower_count = 0, digit_count = 0;
for (int i = 0; i < len; i++) {
if (is_upper(arr[i])) {
upper_count++;
} else if (is_lower(arr[i])) {
lower_count++;
} else if (is_digit(arr[i])) {
digit_count++;
}
}
printf("Uppercase characters: %d\n", upper_count);
printf("Lowercase characters: %d\n", lower_count);
printf("Digit characters: %d\n", digit_count);
}
int main() {
char input[11]; // Account for null terminator
printf("Enter 10 characters: ");
fgets(input, sizeof(input), stdin); // Read user input with newline
// Remove the newline character from input
size_t newline_index = strlen(input) - 1;
if (input[newline_index] == '\n') {
input[newline_index] = '\0';
}
count_chars(input, strlen(input));
return 0;
}
```
在这个程序中,我们定义了三个辅助函数 `is_upper`、`is_lower` 和 `is_digit` 来检查字符是否为大写字母、小写字母或数字。`count_chars` 函数遍历输入数组并统计相应的字符数量。`main` 函数则获取用户输入并调用 `count_chars`。
用c语言编程实现:输入一行字符串,放入数组str中,分别统计出str其中的英文大写字母、小写字母、空格、数字和其它字符的个数。
在C语言中,你可以通过遍历字符串并利用ASCII码值来实现这个功能。这里是一个简单的示例代码:
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_CHAR 100
int main() {
char str[MAX_CHAR];
int uppercase = 0, lowercase = 0, spaces = 0, digits = 0, others = 0;
printf("请输入一行字符串:");
fgets(str, MAX_CHAR, stdin); // 读取用户输入,包括换行符
for (int i = 0; str[i] != '\0'; i++) { // 遍历字符串
if (isupper(str[i])) { // 判断是否为大写字母
uppercase++;
} else if (islower(str[i])) { // 判断是否为小写字母
lowercase++;
} else if (isspace(str[i])) { // 判断是否为空格
spaces++;
} else if (isdigit(str[i])) { // 判断是否为数字
digits++;
} else { // 其他字符(如特殊字符)
others++;
}
}
printf("\n统计结果:\n");
printf("大写字母:%d\n", uppercase);
printf("小写字母:%d\n", lowercase);
printf("空格:%d\n", spaces);
printf("数字:%d\n", digits);
printf("其他字符:%d\n", others);
return 0;
}
```
当你运行此程序时,它会提示你输入一行字符串,然后计算并显示各种字符类型的计数。
阅读全文