问题描述
将一个字符串的奇数位(首位为第0位)取出,将其顺序弄反,再放回原字符串的原位置上。
如字符串"abcdefg",奇数位为"bdf",顺序弄反后为"fdb",最后得到字符串"afcdebg"。
输入格式
输入共一行,为一个字符串,字符串中无空格。
输出格式
输出共一行,为一个字符串,即最后得到的字符串。
样例输入
abcdefg
样例输出
afcdebg
数据规模和约定
字符串长度不超过255.
思路:首先可以把奇数位的字符存储在除原字符的另外一个字符数组中,然后逆序输出赋值给原数组,输出就行了 (记录刷题的第一天)。
代码如下:
#include
#include
int main(){
char a[256],b[256];
int i,j=0,k=1,l;
gets(a);
l=strlen(a);
for(i=0;i<l;i++){
if(i%2!=0){
b[j++]=a[i];
}
}
for(i=j-1;i>=0;i--){
a[k]=b[i];
k+=2;
}
a[l]='\0';
puts(a);
return 0;
}