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]={"