1974-文字列の逆順序
【Cシリーズ4.6】関数訓練の文字列逆順1974
Time Limit: 1 s Memory Limit: 32 MB
Submission:301 AC:123 Score:10.00
Submit Status
Description
cynの子供は今日英語の授業でたくさんの新しい単語を学びました.彼女はそこで彼女が流水のように英語の短文を書いたのですが、彼女は自分の頭が間違っていることに気づきました.すべての単語を逆順に書いて、あなたは彼女を助けることができますか?
Input
1行の文字列を入力します(長さは200を超えません).
Output
入力に対して、各単語の逆順序後の文字列を出力します.
Samples
input:
I lliw reven reve ecnaD
output:
I will never ever Dance
Hint
最後の改行を入力するには逆順は必要ありません.
例えばabcはcbaを出力する必要があります
ACコードを添付します.
原題リンク:http://acm.hznu.edu.cn/OJ/problem.php?cid=1092&pid=7
Time Limit: 1 s Memory Limit: 32 MB
Submission:301 AC:123 Score:10.00
Submit Status
Description
cynの子供は今日英語の授業でたくさんの新しい単語を学びました.彼女はそこで彼女が流水のように英語の短文を書いたのですが、彼女は自分の頭が間違っていることに気づきました.すべての単語を逆順に書いて、あなたは彼女を助けることができますか?
Input
1行の文字列を入力します(長さは200を超えません).
Output
入力に対して、各単語の逆順序後の文字列を出力します.
Samples
input:
I lliw reven reve ecnaD
output:
I will never ever Dance
Hint
最後の改行を入力するには逆順は必要ありません.
例えばabcはcbaを出力する必要があります
ACコードを添付します.
#include
#include
void wordnixu(char *start, char *end);
char* sentence(char *str);
int main() {
char str[100];
gets(str);
printf("%s
", sentence(str));
return 0;
}
void wordnixu(char *start, char *end) {
char swap;
while (start < end) {
swap = *start;
*start++ = *end;
*end-- = swap;
}
}
char* sentence(char *str) {
char *start = str;
char *p = str;
while (*str != '\0') {
if (*str == ' ') {
wordnixu(start, str - 1);
start = ++str;
}
else
str++;
}
wordnixu(start, str - 1);
return p;
}
原題リンク:http://acm.hznu.edu.cn/OJ/problem.php?cid=1092&pid=7