一条简单的算法题:颠倒字序
问题描述:
对给定的文本,改变输出顺序
要求:
输出的第一行是测试数据的组数n,接下来有n行,每一行为一组测试数据(不算换行符),每组数据中的标点符号及空格要保留原来的次序
样例输入:
2
Me too.
madam,I'm adam
输出:
eM oot.
madam,m'I mada
以下是我的代码(我是先试只有空格这种情况),可是每次只能输出第一个空格前面的,如果后面有空格的话就不行了,求教
对给定的文本,改变输出顺序
要求:
输出的第一行是测试数据的组数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;
}
...全文
相关推荐
bit位序变换
vs2010下的bit位序颠倒,可以指定颠倒的位数,编译通过正常使用,嵌入式开发经常用到
【简单】力扣算法题解析LeetCode190:颠倒二进制
题目要求颠倒32位无符号整数的二进制位(如第0位变第31位)。核心解法通过循环32次,每次将结果左移1位并取输入数的最低位,最后组合成颠倒后的整数。优化方案采用查表法,预计算字节颠倒结果,将32次操作缩减为4次查表+位移,适合多次调用场景。Java实现通过位操作(<<、>>>、&)高效完成,确保正确处理负数(无符号右移)。
图像变换(图像平移、图像颠倒、图像镜像变换、图像旋转)
图像变换(图像平移、图像颠倒、图像镜像变换、图像旋转),相信对要进行图像处理的朋友会有帮助
c语言三位数的三个数字循序颠倒
c语言三位数的三个数字循序颠倒,输入一个三位数,判断第一个是否为0,为0,则错误,否则就把这三位数颠倒数字顺序输出,代码简单型
颠倒文本使用例程
颠倒文本使用例程


新手乐园
