字符及子串的逆转
2016-06-26 10:26
465 查看
输入 i come from tianjin. 输出 tianjin. from come i
int main()
{
int i = 0, j = 0, flag = 0, begin, end;
char str[] = "i come from tianjin.";
char temp;
j = strlen(str) - 1;
printf("%s\n", str);
while (j > i)//逆序整个子串
{
temp = str[i];
str[i] = str[j];
str[j] = temp;
j--;
i++;
}
printf("%s\n", str);
i = 0;
while (str[i])
{
if (str[i] != ' ')
{
begin = i;
while (str[i] && str[i] != ' ')
{
i++;
}
i = i - 1;//这的处理很重要
end = i;
}
cout << begin << " "<<end<<endl;
while (end > begin)//逆序单词
{
temp = str[end];
str[end] = str[begin];
str[begin] = temp;
begin++;
end--;
}
i+=1;//i在递增
}
printf("%s\n", str);
cin.get();
return 0;
}
int main()
{
int i = 0, j = 0, flag = 0, begin, end;
char str[] = "i come from tianjin.";
char temp;
j = strlen(str) - 1;
printf("%s\n", str);
while (j > i)//逆序整个子串
{
temp = str[i];
str[i] = str[j];
str[j] = temp;
j--;
i++;
}
printf("%s\n", str);
i = 0;
while (str[i])
{
if (str[i] != ' ')
{
begin = i;
while (str[i] && str[i] != ' ')
{
i++;
}
i = i - 1;//这的处理很重要
end = i;
}
cout << begin << " "<<end<<endl;
while (end > begin)//逆序单词
{
temp = str[end];
str[end] = str[begin];
str[begin] = temp;
begin++;
end--;
}
i+=1;//i在递增
}
printf("%s\n", str);
cin.get();
return 0;
}
相关文章推荐
- acm之贪心算法题目8
- R通过RJDBC连接外部数据库
- 程繁问于乐
- android include使用
- acm之贪心算法题目7
- 持久层内存溢出
- debian install kvm qemu
- 理解postgresql数据表与其对应的数据文件关系
- [bzoj2733][HNOI2012]永无乡
- UISwitch
- 搭建HelixServer步骤
- 正则
- hibernate——onetoone (单向)
- 【思维导图入门】快捷键操作
- zabbix使用宏自动发现挂载的文件系统并进行监控
- 【java多线程系列】java内存模型与指令重排序
- acm之贪心算法题目6
- 【java多线程系列】java内存模型与指令重排序
- Android App卡顿慢优化之多线程优化
- Can't create handler inside thread that has not called Looper.prepare()