编程从键盘输入若干个字符存入数组,输入回车结束,统计其中大写字母的个数。
时间: 2023-04-29 07:01:15 浏览: 589
可以使用循环结构和条件判断语句来实现该功能。具体步骤如下:
1. 定义一个字符数组,用于存储输入的字符。
2. 使用循环结构,从键盘输入字符,并将其存入数组中,直到输入回车为止。
3. 在循环中,使用条件判断语句判断当前输入的字符是否为大写字母,如果是,则将计数器加1。
4. 循环结束后,输出计数器的值,即大写字母的个数。
示例代码如下:
```c
#include <stdio.h>
int main()
{
char arr[100]; // 定义字符数组
int i, count = 0;
printf("请输入若干个字符,以回车结束:\n");
for (i = 0; i < 100; i++) {
scanf("%c", &arr[i]); // 从键盘输入字符
if (arr[i] == '\n') { // 如果输入回车,则结束循环
break;
}
if (arr[i] >= 'A' && arr[i] <= 'Z') { // 判断是否为大写字母
count++; // 计数器加1
}
}
printf("大写字母的个数为:%d\n", count);
return 0;
}
```
相关问题
C语言完成 由键盘输入任意一串字符串,将其存入一个字符数组,统计其中的大写字母、小写字母、数字以及其他字符的个数。
在C语言中,你可以通过以下步骤实现这个功能:
1. 定义一个字符数组来存储用户输入的字符串。
2. 使用`getchar()`函数获取用户的输入,直到遇到换行符('\n')为止。
3. 创建四个计数器,分别用于大写字母、小写字母、数字和其他字符(非字母和非数字字符)。
4. 遍历输入的字符串,检查每个字符的ASCII码值,根据不同情况进行计数。
5. 最后,打印出每个类别字符的数量。
下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类型的功能
int main() {
char input[100]; // 字符数组大小足够存放一般输入
int uppercase = 0; // 大写字母计数器
int lowercase = 0; // 小写字母计数器
int digit = 0; // 数字计数器
int others = 0; // 其他字符计数器
printf("请输入一串字符串: ");
while ((input[fgetc(stdin)] != '\n')) { // 防止读取到EOF
if (isupper(input[fgetc(stdin)])) {
uppercase++;
} else if (islower(input[fgetc(stdin)])) {
lowercase++;
} else if (isdigit(input[fgetc(stdin)])) {
digit++;
} else {
others++;
}
}
printf("大写字母: %d\n", uppercase);
printf("小写字母: %d\n", lowercase);
printf("数字: %d\n", digit);
printf("其他字符: %d\n", others);
return 0;
}
```
在这个程序中,我们使用了`ctype.h`库中的`isupper()`、`islower()`和`isdigit()`函数来判断字符的类型。运行这个程序后,它会提示用户输入字符串,并在输入结束后显示各个字符类型的计数。
C语言输入一串字符存入数组,输出字符串并计算这个字符串中字母的个数和大小写字母的个数
在C语言中,你可以通过以下步骤来输入一串字符并将它们存储到数组中,然后输出字符串,并统计其中字母的数量以及大写字母和小写字母的具体数目:
1. **输入字符串**:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main() {
char str[MAX_SIZE];
printf("请输入一个字符串(不超过100个字符):");
fgets(str, MAX_SIZE, stdin); // 使用fgets读取字符串,避免换行符
}
```
2. **检查是否包含空格或其他非字母字符,并移除多余的换行符**:
```c
size_t len = strlen(str) - 1; // 去掉最后一个'\n'
str[len] = '\0'; // 将换行符替换为结束符
```
3. **统计字母总数、大写和小写字母的个数**:
```c
int alpha_count = 0;
int uppercase_count = 0;
int lowercase_count = 0;
for (size_t i = 0; i < len; i++) {
if (isalpha(str[i])) { // 检查是否为字母
alpha_count++;
if (isupper(str[i])) { // 如果是大写字母
uppercase_count++;
} else if (islower(str[i])) { // 如果是小写字母
lowercase_count++;
}
}
}
printf("原始字符串:%s\n", str);
printf("字母总数:%d\n", alpha_count);
printf("大写字母数:%d\n", uppercase_count);
printf("小写字母数:%d\n", lowercase_count);
}
```
4. **完整程序示例**:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类型的函数库
// ...
int main() {
// ...
size_t len = strlen(str) - 1;
str[len] = '\0';
int alpha_count = 0;
int uppercase_count = 0;
int lowercase_count = 0;
for (size_t i = 0; i < len; i++) {
if (isalpha(str[i])) {
alpha_count++;
if (isupper(str[i]))
uppercase_count++;
else if (islower(str[i]))
lowercase_count++;
}
}
printf("原始字符串:%s\n", str);
printf("字母总数:%d\n", alpha_count);
printf("大写字母数:%d\n", uppercase_count);
printf("小写字母数:%d\n", lowercase_count);
return 0;
}
```
阅读全文