就用牺牲空间的方法,将这个数组复制。再直接截取。
例如字符串为abcdefghijklmn要循环左派饥移10位。
1。先复制悄羡扒得到abcdefghijklmnabcdefghijklmn。
2。直接从第十位开始往后取字符串的长度位就是结果。abcdefghij
klmnabcdefghij
klmn。
中间那段就是了。
#include<stdio.h>
#include
<string.h>
#define
N
81
void
readwriteDAT()
void
chg(char
*s)
{
int
i,t,j=0,n=strlen(s)/*i循环控制变量前前橘,j用于数组中移动元素的位置悔橘*/
for
(i=0i<1i++)/*因为要把最后一个移到最后,所以慧团只需i<1即可*/
{
t=s[0]/*把数组中第一个元素先保存给临时变量t*/
for
(j=0j<n-1j++)/*下面循环的功能是将除第一个元素外的(即s[0])字符串中的字符循环左移一个位置*/
s[j]=s[j+1]
s[j]=t/*最后将第一个字符,给最后一个字符*/
}
}
main()
{
char
a[
N
]
printf("Enter
a
string
:
")
gets(a)
printf("The
original
string
is
:
")
puts(a)
chg(a)
printf("The
string
after
modified
:
")
puts(a)
}
注意:本程序如不是在二级C模拟系统下写代码,在验证时请以上面代码为准!
Python位 *** 作运算符【左移右移】
num1 << num2 #num1左移num2位num1 谨滚>> num2 #num1右移num2位
例:
45左移1位:
45 << 190
45的二进制为:101101
那么左移一位:1011010
1011010的十进制为90
60右移2位:
60 >> 稿晌枯215
60的二进制为:111100
那么右移键洞两位:001111
001111的十进制为15
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)