2016 - 2024

感恩一路有你

字符串循环左移 C语言,移动字符串?

浏览量:2484 时间:2021-03-13 04:12:53 作者:admin

C语言,移动字符串?

C语言字符串移动

输入一个字符串和一个非负整数n,要求字符串循环向左移动n次。

输入格式:

输入长度不超过100个字符的非空字符串,第一行以回车结束;第二行给出非负整数n。

输出格式:

在一行中左移n次后输出字符串。

输入示例:

你好,世界

!2

输出示例:

世界!他

在PTA上运行以下代码,边界测试的结果表明运行时有错误

#include<stdio。H>

#包含<string。H>

int main()

{

char a[100],change

int i,J,CNT,n

]获取(a)

scanf(%d“,&;amp;n)

CNT=strlen(a)

(J=0j<nj)

{

change=a[0

]for(i=0i<cnt-1i)

{

a[i]=a[i 1

]}

a[i]=change

}

puts(a)

return 0

}

int strlshif1(char*s,int n){int len strlen n(s)n=n%lenreverse(s,0,n-1)reverse(s,0,len-1)return 0}

如何将一个字符串按bit位左移(右移)N位?

1. 左移运算符(Shift left operator)(<<):将二进制形式的所有数字向左移动相应的数字,将高位移出(丢弃),并用零填充低位。格式:数字需要移位的次数,例如:3<<;LT2 3转换为二进制0011,所有数字左移2位,空格用0填充得到1100,即十进制数12。2右移运算符(>>):根据二进制将所有数字向右移动,移动相应的移位数字,将低位数字移出(放弃),并用符号数字填充高位数字(0表示正数,1表示负数)。格式:要移动的次数。例如:11>>;2,11的二进制是1011,所有数字都向右移动2个位置。因为11是一个正数,高位被0补充得到0010,这是一个十进制2。

字符串循环左移 字符串的旋转 字符串内存空间

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。