當前位置:首頁 » 編程語言 » c語言向後移四位的程序是什麼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言向後移四位的程序是什麼

發布時間: 2022-09-03 01:34:22

1. 對字母進行加密,即輸入4個字母,每個字母向後移4位,列如『A』後移4位變成『E』,下面c程序出錯在哪,

#include <stdio.h>
int main()
{
int a[5];(這里錯了,既然是字元,當然用char)
int i;
for (i = 0; i <= 4; i++)
scanf ("%c", a[i]);(這里錯了,%c會讀取回車字元(回車也算一個字元,區別於換行『\n』)『\r』假如你輸入的是ABCD,那麼存進去的就會變成A回車B回車,並且輸入時的取址符號也漏了)
for (i = 0; i <= 4; i++)
a[i] = a[i] + 4;(這里錯了,如果a[i]='Z'呢?那加完的字元不就不是大寫英文字母了么?)
for (i = 0; i <= 4; i++)
printf ("%c", a[i]);
return 0;
}

修改後的代碼
#include<stdio.h>
int main()
{
char a[5];

int i;

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

{
scanf("%c",&a[i]);

getchar(); //讀取一個字元,用於抵消上一句讀取字母時產生的回車

}

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

{
if(a[i] + 4 > 'Z')

{
a[i] = 'A' + a[i] + 4 - 'Z' - 1; //如果大於Z,就循環從A開始

}

else a[i] = a[i] + 4;

}

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

{
printf("%c",a[i]);
}
return 0;
}
望採納

2. c語言寫一個程序,使八位數數組前四位後四位平移交換得到一個新的數列。

#include<stdio.h>
main()
{longlongn;
while(1){
scanf("%lld",&n);
if(n>=10000000&&n<=99999999)
printf("交換後=%lld ",n%10000*10000+n/10000);
else
printf("wrong! ");
}
}

如圖所示,望採納。。。。。。

3. 「對整型變數a取反後右移4位」的C語言表達式怎麼寫

對整型變數a取反後右移4位」的C語言表達式:
a=(~a)>>4;

4. C語言字元串加密 後移四位 並最後輸入Y持續上一個過程 輸入N結束

#include<stdio.h>
#include<stdlib.h>
#include"string.h"

intmain(intargc,char*argv[])
{
chars[50]={""};
scanf("%s",s);
inti;
intlen=strlen(s);
while(1)
{
for(i=0;i<len;i++)
{
intn;
if(s[i]>=65&&s[i]<=90)
{
n=s[i]+4;
if(n>90)
{
n=n-26;
}
s[i]=n;
}
elseif(s[i]>=97&&s[i]<=122)
{
n=s[i]+4;
if(n>122)
{
n=n-26;
}
s[i]=n;
}
}
printf(" %s 繼續嗎?(Y/N):",s);
charc;
fflush(stdin);
scanf("%c",&c);
if(c=='y'||c=='Y')
{
continue;
}
elseif(c=='n'||c=='N')
{
break;
}
}
return0;
}

5. C語言,凡是遇到字母無論大小寫都向後錯4位變成新的字母,書上請問那第二個if好像有點問題。。

可以這樣寫:
while ( (c=getchar())!='\n' ) { int n=-1;
if ( c>='a' && c<='z' ) { n=c-'a'; c='a'; }
else if ( c>='A' && c<='Z' ) { n=c-'A'; c='A'; }
if ( n>=0 ) { n+=4; n%=26; c+=n; }
printf("%c",c);

}

printf("\n");

6. C語言編程:要求輸入student,將其加密,每個字母往後移四位,比如e,將其變成i,求高手解答!

摘要 您好,很高興為您解答。

7. 將字母後移4位的c語言函數

可以參考下面的代碼:

#include <stdio.h>

#include <stdlib.h>

void movefour(char *str)

{

int i,j;

char t;

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

{

t=str[strlen(str)-1];

for(j=strlen(str)-1;j>0;j--)

str[j]=str[j-1];

str[0]=t;

}

}

(7)c語言向後移四位的程序是什麼擴展閱讀:

C語言strcat()函數:字元串連接(拼接)

C語言isupper()函數:判斷一個字元是否是大寫字母

C語言isspace()函數:判斷一個字元是否是空白符

C語言isprint()函數:判斷一個字元是否是可列印字元

C語言islower()函數:判斷一個字元是否是小寫字母

C語言ldexp()函數:返回x乘以2的exponent次方(次冪)的值

C語言isalnum()函數:判斷一個字元是否是字母或者數字

8. C語言編程:要求輸入student,將其加密,每個字母往後移四位,比如e,將其變成i,求高手解答!謝謝!

是的,就是設置個char數組,比如char student[4]={0};char strtemp[4];
然後將起賦值為你想要的值,這就是加密前,加密的話就:
for(int i=0;i<sizeof(student);i++)
strtemp[i] = student[i]+4;
得到的就是你要的加密後的組合了,解密同樣,直接每個指減4就對了

9. 輸入10個數據並存放到一維數組中,將這個數組循環後移4次,並顯示每次移動的結果(用c語言做)

看一下這個程序,y[x[i]]++;
printf("%d\n",y[3]);

y[
x[i]
]
,
y[3]
實際上要求的是x[
i
]
=
3的個數。

y[4]=0既是y[4]={0,0,0,0};

1
i=0,
x[0]=2,y[2]=1
(y[2]++);

2.
i=1;x[1]=3,y[3]=1;

3.i=2;x[2]=0.y[0]=1;

4.i=3;x[3]=3;y[3]=1;

5.i=4;x[4]=0;y[0]=1;

6.i=5;x[5]=2;y[2]=1;

7.i=6;x[6]=3;y[3]=1;

8.i=7;x[7]=2;u[2]=1;

9.i=8;x[8]=1;y[1]=1;

10.i=9;x[9]=3;y[3]=1;

運行完以後,你再看看y[3]的個數就是
4

10. 急求C語言程序 隨便輸入一個字母,運行結果向後移四位。要求能夠循環

#include "stdio.h"
#include "windows.h"

main()
{
char c;
printf("input a char:");
scanf("%c",&c);
if(!isalpha(c))
{
printf("input error!\n");
return;
}
printf("%c\n",isalpha(c+4)? c+4:c-22);
getchar();
}