練習8-8 移動字母 (10分)

題目鏈接題源浙大版《C語言程序設計(第3版)》題目集

題目描述:
本題要求編寫函數,將輸入字符串的前3個字符移到最後。
函數接口定義:

void Shift( char s[] );
其中char s[]是用戶傳入的字符串,題目保證其長度不小於3;函數Shift須將按照要求變換後的字符串仍然存在s[]裏。
輸入樣例:
abcdef
輸出樣例:
defabc

code:

#include <stdio.h>
#include <string.h>

#define MAXS 10

void Shift( char s[] ){
    int len=strlen(s);
    char t[4];
    for(int i=0;i<3;i++) t[i]=s[i];
    for(int i=0;i<len-3;i++) s[i]=s[i+3];
    for(int i=len-3;i<len;i++) s[i]=t[3-len+i];
}

int main()
{
    char s[MAXS];
    gets(s);//題目中省去部分
    Shift(s);
    printf("%s\n", s);

    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章