求一个列换位加密的C语言算法!!!谢谢各位大佬了!!

求一个列换位加密的C语言算法!!!谢谢各位大佬了!!,第1张

#include <stdio.h>#include <stdlib.h>#include <稿仔肆math.h>戚胡#include <string.h>const int MAXSIZE = 100char *encrypt(char *essay) {int i,j,n,u,v,m,len = strlen(essay) char *result m = n = (int)sqrt(len) if(m * m <len) ++n result = (char *)malloc(m * n * sizeof(char) + 1) for(i = 0i <m++i) {for(j = 0j <n++j) {u = n * i + j v = m * j + i if(u <len) result[v] = essay[u] else result[v] = ' ' }}result[m * n] = 0 return result} int main() {char s[MAXSIZE],*u printf("输入明文:\n"键轿) fgets(s,MAXSIZE,stdin) s[strlen(s) - 1] = 0// 去除尾部的\nu = encrypt(s) printf("密文是:\n%s\n",u) free(u) return 0}

给你,拆态自己再稍微改造一下吧:

#include "stdio.h"

#include "conio.h"

main()

{

int k,i=0

char a[100],b[100]

printf("qing shu ru ni de mi wen \n"旅派源)

gets(a)

printf("qing shu ru mi shi \n")

scanf("羡袜%d",&k)

printf("\n")

do{

b[i]=(char)(a[i]+k)

if(b[i]>122){

b[i]=(char)(b[i]-26)

}

i++

}while(a[i]!='\0')

puts(b)

getch()

}

#include <stdio.h>

#include <string.h>

void main()

{

int i,nchar str[21]

gets(str)n=strlen(str)

if(n==0) printf("error")

for(i=0i<ni++)

if((str[i]<'a'||str[i]>'z')&&谨亮(str[i]<'A'||str[i]>'Z'))

printf("error")

else

{

for(i=0i<尘好ni++)

{

if((str[i]>='派晌铅x'&&str[i]<='z')||(str[i]>='X'&&str[i]<='Z'))

str[i]-=22

else str[i]+=4

printf("%c",str[i])

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12500899.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存