翻转句子中单词的顺序,但单词内字符的顺序不变
2016-12-14 22:59
281 查看
任务和代码:
/*****************************************************************
File Name : daoxu
Author : 李杰 Date : 2016.12.11
Description : 翻转句子中单词的顺序,但单词内字符的顺序不变
******************************************************************/
#include <stdio.h>
void daoxu(char *p)
{
char *h = p;
while(*p != '\0')
{
p++;
}
p = p - 1;
char temp;
while(h <= p)
{
temp = *p;
*p = *h;
*h = temp;
h++;
p--;
}
}
void fanzhuan(char *p)
{
char *h = p;
char *q = p;
while(*h != '\0')
{
if(*h == ' ')
{
*h = '\0';
daoxu(q);
*h = ' ';
h++;
q = h;
}
else
{
h++;
}
}
}
int main()
{
char str[50] = {0};
printf("please input a string:\n");
gets(str);
daoxu(str);
fanzhuan(str);
puts(str);
return 0;
}
运行结果:
心得体会: 对字符串操作时候,我们也可以用指针来指向字符串的首地址,从而通过指针对字符串进行操作。
/*****************************************************************
File Name : daoxu
Author : 李杰 Date : 2016.12.11
Description : 翻转句子中单词的顺序,但单词内字符的顺序不变
******************************************************************/
#include <stdio.h>
void daoxu(char *p)
{
char *h = p;
while(*p != '\0')
{
p++;
}
p = p - 1;
char temp;
while(h <= p)
{
temp = *p;
*p = *h;
*h = temp;
h++;
p--;
}
}
void fanzhuan(char *p)
{
char *h = p;
char *q = p;
while(*h != '\0')
{
if(*h == ' ')
{
*h = '\0';
daoxu(q);
*h = ' ';
h++;
q = h;
}
else
{
h++;
}
}
}
int main()
{
char str[50] = {0};
printf("please input a string:\n");
gets(str);
daoxu(str);
fanzhuan(str);
puts(str);
return 0;
}
运行结果:
心得体会: 对字符串操作时候,我们也可以用指针来指向字符串的首地址,从而通过指针对字符串进行操作。
相关文章推荐
- (Java)输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
- 面试题:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。
- "输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。 句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student
- C++: 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
- 面试题:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。
- 题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符顺序不变
- 翻转句子中单词的顺序,但单词内字符的顺序不变
- 面试题38:翻转句子中单词的顺序,单词内字符的顺序不变
- 翻转句子内单词的顺序,但单词内字符顺序不变,包括标点
- 翻转句子中单词的顺序,单词内字符顺序不变(写得很烂)
- 每天学习一点编程(2)(输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变)
- java算法实现之--输入一个英文句子,翻转句子中的单词顺序,但单词内字符的顺序不变
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。 句子中单词以空格符隔开。为简单起见,没有标点符号。 例如输入“I am a student”,则输出“student a
- 每天学习一算法系列(10)(输入一句英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以空格符隔开)
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。(笔试题) 句子中单词以空格符隔开。为简单起见,没有标点符号。 例如输入“I am a student”,则输出“student a
- 输入一个英文句子,翻转句子中单词的顺序,单词内字符顺序不变
- 翻转字符句子中单词顺序