【题目描述】
输入一个句子(一行),将句子中的每一个单词翻转后输出。
【输入】
只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。
【输出】
翻转每一个单词后的字符串,单词之间的空格需与原文一致。
【输入样例】
hello world
【输出样例】
olleh dlrow
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
char s[1000];
int len,position;
int sum=0;
int i,j;
gets(s);//获取字符串s
len=strlen(s);//求字符串长度
s[len]=' ';//末尾加一空格方便计算
for(i=0; i<=len; i++)
{
if(s[i]!=' ')
sum++;//计算单词长度
else
{
position=i;//记录单词末位置
for(j=1; j<=sum; j++) //倒序输出
cout<<s[--position];
sum=0;//计数器归零
if(i!=len)//若不是自己加上的空格就输出空格
cout<<" ";
}
}
cout<<endl;
return 0;
}
信息学奥赛一本通T1144:字符类型和字符数组 单词翻转 归属于 字符类型和字符数组,更多同类题解源程序见:字符类型和字符数组 和 单词翻转
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!