主要思想:先写出单词逆序的函数,再写整个句子逆序的函数(在其中查找单词,找到后调用单词逆序的函数逆序,最后将整个句子逆序)。
程序缺点:只能识别几个常用的标点符号
源代码及测试程序:
//给定一个字符串,按单词将该字符串逆序,含标点
#include<stdio.h>
//start 和 end 之间逆序的函数
void reverse_word(char *start, char *end)
{
while(start < end)
{
*start = *start ^ *end;
*end = *start ^ *end;
*start = *start++ ^ *end--;
}
}
char *reverse_sentence(char *str)
{
char *start = str;
char *end = str;
while(*end != '\0')
{
if(*end==' ' || *end=='!' || *end==',' || *end=='.' || *end=='?')//查到一个单词
{
if(start < end)//只有一个字母的单词不逆序
reverse_word(start, end-1);
while(*end==' ' || *end=='!' || *end==',' || *end=='.' || *end=='?')
end++; //指向下一个单词首字符
start = end;
}
else
end++;
}
reverse_word(str, end-1);//整个句子逆序
return str;
}
int main(int argc, char *argv[])
{
char str[] = "Hello, I am glad to see you!";
printf("%s\n", str);
printf("%s\n", reverse_sentence(str));
return 0;
}
分享到:
相关推荐
字符串逆序 字符串逆序_使用C语言实现的字符串按单词逆序
字符串逆序 字符串逆序_使用Java实现的字符串按单词逆序
字符串逆序+c语言字符串逆序输出+c语言字符串逆序逐行解释字符串逆序+c语言字符串逆序输出+c语言字符串逆序逐行解释字符串逆序+c语言字符串逆序输出+c语言字符串逆序逐行解释字符串逆序+c语言字符串逆序输出+c语言...
输入一个字符串,把这个字符串按逆序重新存放 #include #include #define N 100 main() { char a[N],b[N]; int i,con; printf("input a[] ); gets(a); con=strlen(a); strcpy(b,a); for(i=0;i;i++) a[i]...
一个小程序,实现字符串的逆序和调序输出。
简单汇编程序:输入字符串逆序输出(两种)
逆序输出任意字符串 逆序输出任意字符串 逆序输出任意字符串 逆序输出任意字符串 逆序输出任意字符串
字符串逆序
1162:字符串逆序 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 31557 通过数: 20735 【题目描述】 输入一串以‘!’结束的字符,按逆序输出。 【输入】 如题述。 【输出】 如题述。 【输入样例】 abc! 【输出...
c++ 字符串逆序输出 用vs2005打开
腾讯在线笔试题-把字符串“I am from china.”反转成为“I am from china.”,以及把整个字符串逆序。
递归逆序输出字符串,代码自己看吧!!
只用简单几句话,实现逆序输出.使用gets和putchar来实现
c++实现的关于递归实现逆序字符串,有需要的可以下载
c语言实现单词逆序 单词内部不逆序 比如: i am from shanghai 变为 shanghai from am i
给定一组字符串,按照其逆序数的大小顺序输出字符串,C++实现
将字符串逆序算法示例 VC CUI程序 字符串逆序算法示例 VC CUI程序 字符串逆序算法示例 VC CUI程序
字符串逆序 字符串逆序_使用C#实现的字符串逆序