Problem H: 移动奇数位置的字母

Problem H: 移动奇数位置的字母

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 26  Solved: 18
[Submit] [Status] [Web Board] [Creator:]

Description

给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数右移到下一个奇数位置,最右边被移出字符串的字符绕回到第一个奇数位置,下标为偶数的字符不动(注:字符串长度大于等于2)。例如,形参s所指的字符串为abcdefgh,执行结果为:ahcbedgf。

请在程序的下标线处填入正确的内容并把下划线删除,使程序得出正确结果,再提交你的程序。

#include     <stdio.h>
void fun(char  *s)
{  int  i, n, k;    char c;
   n=0;
   for(i=0; s[i]!='\0'; i++)  n++;
/**********found**********/
   if(n%2==0) k=n-____ ;
   else       k=n-2;
/**********found**********/
   c=______;
   for(i=k-2; i>=1; i=i-2)  s[i+2]=s[i];
/**********found**********/
   s[1]=_________;
}
main()
{  char  s[80];
   scanf("%s", s);   
   fun(s);
   printf("%s\n",s);
}

Sample Input

abcdefgh

Sample Output

ahcbedgf