输入-串字符存放到数组a中(长度可以为20个),将其下标为偶数,数组元素为字母的存放到另个数组b中,最后反序输出数组b的内容。b数组的长度可以定义为20个,但输出时按照实际个数输出,例如:输入“Ab%7HPm5#sD”,数组内容为:“AHmD”,输出结果为:DmHA,用c语言
时间: 2024-03-02 18:49:52 浏览: 15
好的,下面是实现代码:
```c
#include <stdio.h>
int main() {
char a[20], b[20];
int b_len = 0;
printf("请输入一个长度不超过20的字符串:");
scanf("%s", a);
for (int i = 0; a[i] != '\0'; i++) {
if (i % 2 == 0 && (a[i] >= 'a' && a[i] <= 'z' || a[i] >= 'A' && a[i] <= 'Z')) {
b[b_len++] = a[i];
}
}
printf("数组b的内容为:");
for (int i = b_len - 1; i >= 0; i--) {
printf("%c", b[i]);
}
printf("\n");
return 0;
}
```
代码运行结果:
```
请输入一个长度不超过20的字符串:Ab%7HPm5#sD
数组b的内容为:DmHA
```
相关问题
用C语言输入一个字符串存放在数组a中,将其中的所有小写字母存放到字符数组b中并输出
好的,下面是实现的代码:
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_SIZE 100
int main() {
char a[MAX_SIZE], b[MAX_SIZE];
int i, j;
printf("请输入一个字符串:");
fgets(a, MAX_SIZE, stdin);
for (i = 0, j = 0; a[i] != '\0'; i++) {
if (islower(a[i])) {
b[j] = a[i];
j++;
}
}
b[j] = '\0';
printf("小写字母的集合为:%s", b);
return 0;
}
```
运行结果如下:
```
请输入一个字符串:Hello, World!
小写字母的集合为:elloorld
```
解释一下代码:
1. 定义了两个字符数组 `a` 和 `b`,分别用于存放输入的字符串和小写字母。
2. 使用 `fgets` 函数读取字符串,遇到换行符结束。
3. 遍历字符串 `a`,如果当前字符是小写字母,就把它存放到 `b` 数组中。
4. 最后在 `b` 数组的末尾添加一个字符串结束符 `\0`,并输出结果。
从键盘输入一字符串,放在字符数组a中,将字符数组a中下标值为偶数的元素按从小到大排序。
好的,可以使用以下C语言代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char a[100];
int i, j, n;
printf("请输入字符串:");
scanf("%s", a);
n = strlen(a);
for (i = 0; i < n; i += 2) {
for (j = i + 2; j < n; j += 2) {
if (a[i] > a[j]) {
char temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
printf("下标值为偶数的元素按从小到大排序后的字符串为:\n%s\n", a);
return 0;
}
```
该程序首先从键盘读入一个字符串,并计算字符串的长度。然后,它在字符数组a中对下标值为偶数的元素进行排序,采用的是简单的选择排序算法。最后,程序输出排序后的字符串。