将一个字符串逆序排列
来源:互联网 发布:mac玩英雄联盟怎样散热 编辑:程序博客网 时间:2024/05/16 19:44
将一个字符串逆序排列:原地转换
#include <stdio.h>
int count(char * s)
{
int n = 0;
while(*s++ != '\0')
n++;
printf("n = %d\n",n);
return n;
}
void conver(char * s,int n)
{
int i,j;
for(i = 0; i < n;i++,n--)
{
if(i != n)
{
j = s[i];
s[i] = s[n-1];//减一的原因是:数组下标从0开始
s[n-1] = j;
}
}
}
void main()
{
int i;
char shuzu[] = "welcome to!";
printf("strlen(shuzu) = %d\n",strlen(shuzu));
printf("sizeof(shuzu) = %d\n",sizeof(shuzu));//比较下strlen和sizeof区别
i = count(shuzu);
conver(shuzu,i);
printf("after the conver,the string is:%s\n",shuzu);
}
另一种转换方法:指针
#include <stdio.h>
char* reverse(char* s)
{
char* t; 头
char* w;尾
t = s;
w = s;
while(*w++ != '\0'); 这和while(*w++)一样 //while(*w != '\0') 两种方法,自己体会
w--; // w++;
w--; // w--;
while(w>t)
{
int temp;
temp = *t;
*t++ = *w;
*w-- = temp;
}
return s;
}
void main()
{
char str[]="hello!";
reverse(str);
printf("after the reverse,the string is : %s\n",str);
}
void exchange(char* t,char* w)
{
while(w>t)
{
int temp;
temp = *t;
*t++ = *w;
*w-- = temp;
}
}
{
char* p;
char* q;
p = s;
q = s;
while(*q != '\0')
{
if(*q == ' ')
{
exchange(p,q-1);
q++;
p=q;
}
else
q++;
}
exchange(p,q-1);
exchange(s,q-1);
}
{
char str[] = "welcome to china !";
reverse(str);
printf("the string is %s\n",str);
- 将一个字符串逆序排列
- 将一个字符串逆序
- 将一个字符串逆序
- 将一个字符串逆序
- 将一个字符串逆序输出
- 将一个字符串逆序输出
- 将一个字符串逆序输出
- 字符串的逆序排列
- 字符串逆序排列
- 字符串逆序排列
- C++字符串逆序排列
- 将一个字符串按单词逆序
- 将一个字符串按单词逆序
- 将一个字符串的内容,逆序存储
- 将一个字符串逆序存放的程序
- 将一个输入的字符串进行逆序
- 将一个字符串中的字符反向排列
- 给定一个字符串,按单词将该字符串逆序。
- 室内地图应用分析(GIS室内电子地图)
- 谓语的初了解
- MTPutty 保存设置
- Intent的setFlags
- 机房收费系统之初体验
- 将一个字符串逆序排列
- POJ 题目分类
- android集成支付宝
- API管理:企业拥抱互联网的必由之路
- windows下emacs生成tags
- JX8NET小游戏网 ACL/PermissionCode/NoNeed
- 使用Python创建MySQL数据库实现字段动态增加以及动态的插入数据
- cocos2d-x 3.0游戏实例学习笔记 《跑酷》第一步--- 开始界面
- Java Code Review清单