字符串 |
您所在的位置:网站首页 › js字符串交换位置 › 字符串 |
对于一个字符串s[x]来说,若将其从中间一分为,并前后段按顺序进行交换,最容易想到的就是用i,j两个变量,分别指向前半段与后半段的第一个元素,然后交换并同步自增,直到交换完毕;i进行循环时,i的范围是从0到L/2-1(L=strlen(s))(i的范围与L的奇偶性无关);j进行循环时,就会出现一个问题,L为奇数时,j的初始值为L/2+1,j为偶数时,j的初始值为L/2; 对于j这种情况,可以有两种解决方案 观察奇,偶两种情况可以发现,除了j的初始值,i的初始结束,j的结束都相同,所以,可以转换思路,倒着进行交换,代码如下: #include #include int main(void){ char s[80],t; int i,j,l; //输入一个字符串 gets(s); l=strlen(s);//给i,j赋初始值 i=l/2-1; j=l-1;//进行循环交换 while(i>-1) { t=s[i]; s[i]=s[j]; s[j]=t; --i; //因为i,j是同步的,所以i停,j也停 --j; }//输出字符串 puts(s); return 0;} 第二种方法便是将,奇偶进行统一,或者用条件判断来给j赋值 //给i,j赋初始值 i=0; j=l/2; if(l%2) j=l/2+1;//循环进行交换 while(i |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |