德州中医院专家简介:编写函数void fun(char *s),

来源:百度文库 编辑:高校问答 时间:2024/05/01 07:32:29
功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动.例如,下面程序运行时,若输入:abc,输出:abc;若输入:abcdefg,输出:afcbedg;若输入:abcdefgh,输出:ahcbedgf.

仅供参考,没编译
void(char * s){

int n=0,i=1;//n为s的长度,i为下一个要变动的字符的位置
char a;//a为上一步换出的字符
char *p=s;
while(*p++)n++;
if(n<4)return;
a=s[1];
while(true){
s[i]=a;a=s[i];
if(i+2<=n-1)i+=2;//下一个奇数若存在,则i指向它,否则循环回来结束
else{ s[1]=a;break;
}

}