1. 程式人生 > >編寫函式:字串的逆序串 (Append Code)(手動加\0)

編寫函式:字串的逆序串 (Append Code)(手動加\0)

Problem C: 編寫函式:字串的逆序串 (Append Code)
Time Limit: 1 Sec Memory Limit: 2 MB
Submit: 7564 Solved: 4399
[Submit][Status][Web Board]
Description

將輸入的一個字串s逆序輸出。


編寫一個函式str_rev()求一個串的逆序串:

原型:char * str_rev(char * t, char * s);

功能:把串s逆序複製到串t中,返回值是逆序串t。

函式的呼叫格式見“Append Code”。

Input

輸入為一個串s。輸入最少為一個字元,最多不會超過100個字元。

Output

串s的逆序。

輸出兩遍,一遍是測試返回值,一遍是測試str。

Sample Input
ABCDE
Sample Output
EDCBA
EDCBA
HINT

str_rev()的返回值參考標準庫函式strcpy()、strstr()、strchr()的設計思路:返回指向目標串的指標。

Append Code
append.c,

#include<stdio.h>
#include<string.h>
#define MAX_STR_LEN 102
char * str_rev(char * t, char * s)
{
    int i,j,a;
    for(i=0,j=strlen(s);i<strlen(s)&&j>=0;i++,j--)
    {
        a=s[i];
        t[i]=s[j-1];
        s[j-1]=a;
    }
    s[j-1]='\0';//attention!
    t[i]='\0';//attention!
    return t;
}
int main()
{
    char s[MAX_STR_LEN], str[MAX_STR_LEN], *p;
    gets(s);
    p = str_rev(str, s);
    puts(p);
    puts(str);
    return 0;
}