翻转句子中单词的顺序
来源:互联网 发布:mac自带截图快捷键 编辑:程序博客网 时间:2024/06/05 05:27
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。
例如输入“I am a student.”,则输出“student. a am I”。
分析:由于编写字符串相关代码能够反映程序员的编程能力和编程习惯。
本题关键是首先翻转,再通过两个头尾指针将每个单词确定。
附上代码
#include <stdio.h>
void Reverse(char *pBegin,char *pEnd)
{
if ( pBegin==NULL || pEnd == NULL)
{
return;
}
char temp;
while(pBegin<pEnd)
{
temp=*pBegin;
*pBegin=*pEnd;
*pEnd=temp;
pBegin++;
pEnd--;
}
}
char RSentence(char *pData)
{
if (NULL==pData)
{
return NULL;
}
char *pBegin=pData;
char *pEnd=pData;
while (*pEnd!='\0')
{
pEnd++;
}
pEnd--;
Reverse(pBegin,pEnd);
pBegin=pEnd=pData;
while (*pBegin!='\0')
{
if (*pBegin==' ')
{
pBegin++;
pEnd++;
}
else if (*pEnd=='\0'||*pEnd==' ')
{
Reverse(pBegin,--pEnd);
pBegin=++pEnd;
}
else
{
pEnd++;
}
}
}
int main()
{
char a[200];
while (gets(a))
{
RSentence(a);
puts(a);
}
return 0;
}
- 翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 10.翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 10、翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 翻转句子中单词的顺序。
- 10、翻转句子中单词的顺序
- 翻转句子中单词的顺序。
- 翻转句子中单词的顺序
- 翻转句子中单词的顺序
- C++ 中 CFile 文件使用教程
- Js获取下拉框选定项的值和文本
- 解惑关于多台服务器并发问题涉及到数据库锁的问题
- AlertDialog.Builder属性集合
- 博客开始整理了
- 翻转句子中单词的顺序
- HDOJ 题目1055Color a Tree(贪心,并查集)
- java-汉字转换拼音工具
- FTP API函数
- HDU 3371 最小生成树 kruskal
- 读v_JULY_v整理笔试题博客有感,整理些答案。
- 在Linux下编写C程序,怎么检查程序是否有内存泄漏?
- django+celery+RabbitMQ 环境配置
- Java中Properties类的使用