输入一串字符存放到数组a中(长度可以为20个),将其下标为偶数,数组元素为字母的存放到另一个数组b中,最后反序输出数组b的内容。b数组的长度可以定义为20个,但输出时按照实际个数输出。例如:输入“Ab%7HPm5#sD” ,输出结果为:“AHmD
一个实现,供参考:
#include <stdio.h>
int main(void){
char a[21]={'\0'}; // 初始化字符数组a,让里面没有其他字符
// printf("请输入一个字符串,长度20以内:");
gets(a);
char b[10]={'\0'}; // 初始化字符数组b,让里面没有其他字符
int i=0; //访问数组a下标变量
int num=0; //访问数组b 下标变量
while(i<21){ //循环遍历数组a,直到访问完数组a所有偶数下标元素你
//如果偶数下标位元素是字母,则把这个字母存入数组b
if((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z')){
b[num] =a[i];
num++; //指向数组b下一个元素
}
i+=2; //下标i从0开始,每次+2,即可访问数组a的偶数下标元素
}
//如题例子,按这个打印数组b
for(i=0;i<num;i++){
printf("%c",b[i]);
}
//如果按字面理解,反序打印数组b,用这个打印数组b
// for(i=num-1;i>=0;i--){
// printf("%c",b[i]);
// }
return 0;
}