输入-串字符存放到数组a中(长度可以为20个),将其下标为偶数,数组元素为字母的存放到另个数组b中,最后反序输出数组b的内容。b数组的长度可以定义为20个,但输出时按照实际个数输出,例如:输入“Ab%7HPm5#sD”,数组内容为:“AHmD”,输出结果为:DmHA,用c语言
时间: 2024-03-02 10:49:52 浏览: 67
好的,下面是实现代码:
```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
```
相关问题
从键盘上任意输入一个字符串存放到a数组中(可以用gets函数输入字符串)。
当你想要从键盘上获取用户输入并将其存储到字符数组中,你可以使用C语言的标准库函数`scanf()`配合数组来实现。这里是一个简单的示例:
```c
#include <stdio.h>
#define SIZE 50 // 假设我们创建一个大小为50的数组
int main() {
char a[SIZE]; // 创建一个字符数组a
printf("请输入一个字符串: ");
fgets(a, SIZE, stdin); // 使用fgets读取用户的输入,注意最后需要添加'\0'字符表示字符串结束
// 确保fgets读入了换行符,并移除它
if (a[strlen(a) - 1] == '\n') {
a[strlen(a) - 1] = '\0'; // 删除换行符
}
printf("你输入的字符串是: %s\n", a); // 输出用户输入的字符串
return 0;
}
```
在这个例子中,程序会提示用户输入字符串,然后使用`fgets()`函数将输入的字符串及其末尾的换行符一起存储到`a`数组中。如果输入的字符串超过数组长度,则可能会导致溢出,因此通常会在实际项目中进行检查。
用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`,并输出结果。
阅读全文