當前位置:首頁 » 編程語言 » c語言字元串移位
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言字元串移位

發布時間: 2023-05-15 18:06:50

c語言編程:字元串替換與移位

幫你寫好了
#include<stdio.h>
#include<string.h>
#define size 100
void main()
{
char a[size],temp;
int i, len;
printf("輸入字元串:\n");
gets(a);
printf("原來的字元串為:\n");
puts(a);
len = strlen(a);
for(i=0; i<len; i++)
{
if(a[i]=='a')
{
a[i]='e';
}
else if(a[i]=='e')
{
a[i]='a';
}
else if(a[i]=='d')
{
a[i]='t';
}
else if(a[i]=='t')
{
a[i]='d';
}
}
printf("轉換後的字元串為:\n");
puts(a);

temp = a[len-1];
for(i=1; i<len; i++)
{
a[len-i] = a[len-i-1];
}
a[0] = temp;

printf("循環右移1位後字元串為:\n");
puts(a);

}

㈡ c語言急求大神字元串循環移位

只要把它處理下就可以了:
scanf("%d"宴液,&n);

n %= strlen(a); //如果n比數組數目大,換算回來
memset(b,0,sizeof(b));

strcpy(b,a+n); //把後半段放到b數組前面
strncat(b,a,n); /晌薯物/把前半段接上去手核

printf("%s\n",b); //輸出

㈢ c語言 如何將一個字元串的前n個字母後移至尾,其他的按順序前移

#include <stdio.h>
#include <string.h>//為了使用memcpy、strlen等字元串函數
#define N 5
int main()
{
char a[] = "abcdefghijk";
int i, j, m;
char b[N+1] = {'\0'};//b將成為一個中間儲存數組
memcpy(b, a, N);//蠢伍把扒譽a的前N個字元復制到b中,存起來,以供後面使用
m = strlen(a)+1;//得出a數組的長度
for(i=0,j=N; j<m; i++,j++)
{
a[i] = a[j];//前N個字元之後的字元「帶此或按順序前移」
}
strcat(a, b);//把b追加到a後面,達成「前n個字母後移至尾」
printf(a);
return 0;
}

㈣ c語言輸入字元串,將其中的字元往後移動三位

#include<stdio.h>

#include<string.h>

int main()

{

int i,j,l;

char w,a[512];

scanf("%s", a);

l=strlen(a);

for (i=0;i<3;i++)

{

w=a[l-1];

for (j=0;j<l-1;j++) a[l-1-j]=a[l-2-j];

a[0]=w;

}

printf("%s", a);

return 0;

}

(4)c語言字元串移位擴展閱讀:

字元串在存儲上類似字元數組,它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。

通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。

㈤ c語言字元串循環右移

函數功能如巧耐寬巧:將輸入字渣春符串 src循環右移n位 result為輸出結果

要求:以效率最高的方式實現

示例:

「abcde」 --2--> "deabc"

"abcde"--8-->"cdeab"

void right_shift_r(const char* src,char* result,unsigned int n)

{

        unsigned int len = strlen(src);

        int i=0;

        for(i=0;i<len;i++)

        {

                result[i] = src[i+n]%len; 

        }

}

㈥ C語言移位問題

<<是二進制的左移,例如二進制1001 0001左移四位變成0001 0000左移一次相當於乘以2

按照你寫的假如字元串xx[0]="abcdef"
那麼xx[0][0]=『a』=97(ASCII)=0110 0101
左移四位0101 0000=80='P'這個還比較正常,如果左移四位後二進制在亂碼的范圍內當然顯示亂碼了

而且xx[i][j]=xx[i][j]+ch這句什麼都不是,完不了你想要的功能

你想要的左移是想把字元a移成e這種移動么?
a=97 e=111 加4當然能得到想要的結果

㈦ C語言將字元串左移N個字元怎麼做

int strlshif1(char *s,int n){

int len = strlen(s);

n = n%len;

reverse(s,0,n-1);

reverse(s,n,len-1);

reverse(s,0,len-1);

return 0;

}

㈧ C語言字元串的移位運算

比如你的程序吧,像樓上的,
char str[]={china};
然後:
str[1] = str[1]+3;
然後就可以了。

㈨ C語言:把一個長度為n的字元串中的字元依次後移m個位置,移出的字元移到串首。

#include<stdio.h>
#include<string.h>
void move(char s[])
{
int n=strlen(s),i;
char a=s[n-1];
for(i=n-1;i>0;i--)s[i]=s[i-1];
s[0]=a;
}
int main()
{
int n,m;
char s[1000];
puts("輸入字元串和要移動的次數");
scanf("%s%d",s,&m);//輸入樣例abcde 2
while(m--)
{
move(s);
}
puts(s);
return 0;
}