输入一串字符 找出其中的大写字母 小写字母 空格 数字 其他字符各有多少,将一个字符串逆序储存C语言
时间: 2024-03-16 08:42:25 浏览: 74
好的,这是两个问题,我分别回答:
1. 输入一串字符,找出其中的大写字母、小写字母、空格、数字、其他字符各有多少。
可以使用C语言中的字符操作函数,如isupper()、islower()、isspace()、isdigit()等进行判断。具体步骤如下:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int upper = 0, lower = 0, space = 0, digit = 0, other = 0;
printf("请输入一串字符:");
fgets(str, 100, stdin); // 从标准输入读取字符串
for (int i = 0; str[i] != '\0'; i++) {
if (isupper(str[i]))
upper++;
else if (islower(str[i]))
lower++;
else if (isspace(str[i]))
space++;
else if (isdigit(str[i]))
digit++;
else
other++;
}
printf("大写字母:%d\n小写字母:%d\n空格:%d\n数字:%d\n其他字符:%d\n",
upper, lower, space, digit, other);
return 0;
}
```
2. 将一个字符串逆序储存。
可以使用指针进行逆序操作。具体步骤如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100], temp;
int len;
printf("请输入一个字符串:");
fgets(str, 100, stdin);
len = strlen(str) - 1; // 去除字符串末尾的'\n'
for (int i = 0; i < len / 2; i++) {
temp = *(str + i);
*(str + i) = *(str + len - i - 1);
*(str + len - i - 1) = temp;
}
printf("逆序后的字符串为:%s", str);
return 0;
}
```
阅读全文
相关推荐















