1. 程式人生 > >S="S1 S2...Sn"是一個長度為N的字串,存放在一個數組中,程式設計將S改造之後輸出:

S="S1 S2...Sn"是一個長度為N的字串,存放在一個數組中,程式設計將S改造之後輸出:

S="S1 S2…Sn"是一個長度為N的字串,存放在一個數組中,程式設計將S改造之後輸出:

  1. 將S的所有第偶數個字元按照其原來的下標從大到小的次序放在S的後半部分;
  2. 將S的所有第奇數個字元按照其原來的下標從小到大的次序放在S的前半部分;
    例如:S=‘ABCDEFGHIJKL’
    則改造後的S為‘ACEGIKLJHFDB’
void RearrangeString()
{
	char ch,s[],stk[];//s是字元陣列,stk是字元棧
	int i=1,j;//i,j為字串和字元棧指標
	while((ch=getchar())!='#')
	{
		s[i++]=ch;//讀入字串,‘#’是字串結束標誌
	}
	s[i]=' \0';//字串陣列中字串結束標誌
	i=1;j=1;
	while(s[i])//改造字串
	{
		if(i%2==0)  stk[i/2]=s[i];
		else  s[j++]=s[i];
		i++;
	}//while
	i--;i=i/2;//i從‘0’後退,然後其含義是第偶數字符的個數
	while(i>0)
		s[j++]=stk[i--]  //將第偶數個字元逆序填入字元陣列

}