一条简单的算法题:颠倒字序

囧到没边际 囧到没边际 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
问题描述:
对给定的文本,改变输出顺序

要求:
输出的第一行是测试数据的组数n,接下来有n行,每一行为一组测试数据(不算换行符),每组数据中的标点符号及空格要保留原来的次序

样例输入:
2
Me too.
madam,I'm adam

输出:
eM oot.
madam,m'I mada

以下是我的代码(我是先试只有空格这种情况),可是每次只能输出第一个空格前面的,如果后面有空格的话就不行了,求教


#include <iostream>
#include <cstring>
#include <fstream>

using namespace std;
#define N 100
#define M 10
char c[N];

void com1(char*c, int a, int b)
{
int l1 = b - a;
for (int i = l1-1; i >= a; --i)
{
cout<<c[i];
}
}

int main()
{

int b,a = 0;
int n,l;
cin >> n;
cin.get();

for (int i = 0; i < n; ++i)
{
cin.getline(c,100);
l=strlen(c);
for (int j = 0; j < l; ++j)
{
if (c[j] == ' ' || c[j] == ',')
{
b = j;
com1(c, a, b);
a = j;
}
}
com1(c, a, l);
cout << endl;
a = 0;
b = 0;
}

return 0;
}
...全文

相关推荐

评论 13
收藏 已收藏
分享
返回顶部
囧到没边际
新手乐园 33,315 成员 41,769 内容