字符串倒序 单词次序不变----
2013-10-29 10:47
330 查看
比如说:i have a dream 变成:dream a have i
#include<stdbool.h>//布尔环境
int main(int argc,
char* argv[])
{
char *s=NULL;
s="i have a dream!";
int n=strlen(s);
char temp[1000];//定义缓冲区的的大小
int q=n-1;
temp
='\0';
//最后一个为‘\0’
char *p;
p=s;
int i=0,t=0;
bool flag=true;
while(flag)
{
if (*p==' ')
{
p--;
while(t!=0)
{
temp[q]=*p;
p--;
q--;
t--;
}
temp[q]=' ';
q--;
i+=2;
p+=i;
i=0;
t=0;
}else
if (*p=='\0')
//如果运行到字符串的末尾
{
p--;
while(t!=0)
{
temp[q]=*p;
p--;
q--;
t--;
}
//break;
flag=false;
}
p++;
i++;
t++;
}
for(i=0;i<n;i++)
{
printf("%c",temp[i]);//重新赋给字符串
}
printf("\n输出结果:%s",temp);
return 0;
}
#include<stdbool.h>//布尔环境
int main(int argc,
char* argv[])
{
char *s=NULL;
s="i have a dream!";
int n=strlen(s);
char temp[1000];//定义缓冲区的的大小
int q=n-1;
temp
='\0';
//最后一个为‘\0’
char *p;
p=s;
int i=0,t=0;
bool flag=true;
while(flag)
{
if (*p==' ')
{
p--;
while(t!=0)
{
temp[q]=*p;
p--;
q--;
t--;
}
temp[q]=' ';
q--;
i+=2;
p+=i;
i=0;
t=0;
}else
if (*p=='\0')
//如果运行到字符串的末尾
{
p--;
while(t!=0)
{
temp[q]=*p;
p--;
q--;
t--;
}
//break;
flag=false;
}
p++;
i++;
t++;
}
for(i=0;i<n;i++)
{
printf("%c",temp[i]);//重新赋给字符串
}
printf("\n输出结果:%s",temp);
return 0;
}
相关文章推荐
- 汇编(倒序)
- ViewPager倒序并分页功能的显示
- Android 返回倒序的数组
- 一段完美实现字符串倒序的算法!
- java 用递归实现:输入一个整数,用字符串逆序输出,例如输入123,输出321 ,不使用全局变量
- JAVA 实现字符串倒序
- leetcode(3):add
- C#字典Dictionary排序(顺序、倒序)
- 字符串倒序
- Leetcode—174. Dungeon Game 倒序DP
- Python基础入门之切片
- python实现插入排序算法的顺序和倒序
- Java中的String字符串倒序输出
- Sqlite存储日期
- FFT倒序算法—雷德Rader算法及matlab实现
- C语言输入一个数,倒序输出
- C语言输入一个数,倒序输出
- C语言输入一个数,倒序输出
- C语言输入一个数,倒序输出
- C语言输入一个数,倒序输出