1. C語言編程:要求輸入student,將其加密,每個字母往後移四位,比如e,將其變成i,求高手解答!
摘要 您好,很高興為您解答。
2. 將字母後移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;
}
}
(2)c語言字母加密向後推4個擴展閱讀:
C語言strcat()函數:字元串連接(拼接)
C語言isupper()函數:判斷一個字元是否是大寫字母
C語言isspace()函數:判斷一個字元是否是空白符
C語言isprint()函數:判斷一個字元是否是可列印字元
C語言islower()函數:判斷一個字元是否是小寫字母
C語言ldexp()函數:返回x乘以2的exponent次方(次冪)的值
C語言isalnum()函數:判斷一個字元是否是字母或者數字
3. C語言問題:要將"China"譯成密碼,密碼規律是:用原來的字母後面的第4個字母代替原來的字母。
原題的意思是進行一個輪換,w->a,x->b,y->,z->d,所以是:
#include"stdio.h"
void
main()
{
char
name[5];
int
i;
for(i=0;i<5;i++)
{
printf("請輸入第%d個字母",i+1);
scanf("
%c",&name[i]);
if(name[i]=='v')
name[i]='z';
else
if(name[i]=='V')
name[i]='Z';
else
name[i]=(name[i]+4)%26;
}
for(i=0;i<5;i++)
printf("%c",name[i]);
printf(" ");
}
(3)c語言字母加密向後推4個擴展閱讀:
#include <stdio.h>
int main(){
printf("Hello, World! ");
return 0;
}
程序的第一行#include <stdio.h>是預處理器指令,告訴 C 編譯器在實際編譯之前要包含 stdio.h 文件。
下一行int main()是主函數,程序從這里開始執行。
下一行printf(...)是 C 中另一個可用的函數,會在屏幕上顯示消息 "Hello, World!"。
下一行return 0;終止 main() 函數,並返回值 0。
4. C語言,輸入一個字元串,採用字母後移五位的辦法加密,後面幾個字母加五後需要回到前面
int i,j,k; char temp;
for(j=0;j<m;j++){
temp=w[j];//此處有誤,每次循環時j都比之前+1,但是按你的邏輯此處應該是首字母
for(i=0,k=0;i<=N-1,k<=N-2;i++,k++)
w[k]=w[i+1];
w[N-1]=temp;
}
你的邏輯是這樣:
假如字元串是abcdefgh,要將前三個字母移至末尾,則要經過
1.bcdefgha,在這一步,也就是temp=w[0];
for(i=0,k=0;i<=N-1,k<=N-2;i++,k++)
w[k]=w[i+1];
所達到的;
2.第二步進行之前,字元串是bcdefgha,要將b後移,顯然應該將b存成temp,b後面的前移,
所以第二步依然是
temp=w[0];
for(i=0,k=0;i<=N-1,k<=N-2;i++,k++)
w[k]=w[i+1];
以達到
cdefghab;
3,同樣把c暫存,c後面前移,則獲得最後要得到的字元串defghabc。
所以只需要把我在程序中標出的語句改了就可以運行了。
【另外:在
for(i=0,k=0;i<=N-1,k<=N-2;i++,k++)
w[k]=w[i+1];
此處其實k和i的作用一樣,沒有必要用兩個變數,可合二為一:
for(i=0;i<=N-1,k<=N-2;i++)
w[i]=w[i+1];
追問:
我暗號你寫的寫成這樣子:
int i,k,temp=w[0],j;for(j=0;j<m;j++)
{
for(i=0,k=0;i<N-1,k<=N-2;i++,k++)
{
w[k]=w[k+1];
w[N-1]=temp;
for(i=0,k=0;i<=N-1,k<=N-2;i++,k++) {
temp=w[0];
w[k]=w[k+1];
w[N-1]=temp;
}
}
}
還是沒有改變啊!
追答:
int i,j,k; char temp;
for(j=0;j<m;j++){
temp=w[j];//此處有誤,每次循環時j都比之前+1,但是按你的邏輯此處應該是首字母
for(i=0,k=0;i<=N-1,k<=N-2;i++,k++)
w[k]=w[i+1];
w[N-1]=temp;
}
就應該是
int i,j,k; char temp;
for(j=0;j<m;j++){
temp=w[0];
for(i=0,k=0;i<=N-1,k<=N-2;i++,k++)
w[k]=w[i+1];
w[N-1]=temp;
}
5. C語言字元串加密 後移四位 並最後輸入Y持續上一個過程 輸入N結束
#include<stdio.h>
#include<stdlib.h>
#include"string.h"
intmain(intargc,char*argv[])
{
chars[50]={"