array.cpp
来自「一些VC++的经典实例」· C++ 代码 · 共 101 行
CPP
101 行
//Program ex7 数组与指针 让加密的文字加密
//设计者 古槿
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#include "malloc.h"
#define N 99
int main(void)
{
char input[100];
char * pdelta;
short int * pinput0;
unsigned int seed;
char delta;
int length=N;
int i;
printf("****************************\n");
printf("* 能实现解码操作的加密程序 *\n");
printf("****************************\n\n");
printf("请输入密码(0~10000):\n");
scanf("%d",&seed);
srand(seed);
pdelta=(char *)malloc(length*(sizeof(char)));
printf("如果你想在中途退出输入,请按回车(Enter)\n");
printf("请输入你想要的文字,在屏幕上将显示加密后的文字:\n");
for(i=0;i<length;i++)
{
input[i]=getche();
delta=(char)(((double)rand()/(double)RAND_MAX)*100.0);
switch(input[i])
{
case 'a':
input[i]+=delta;
break;
case 'e':
input[i]+=delta;
break;
case 'i':
input[i]+=delta;
break;
case 'o':
case 'u':
case ' ':
input[i]+=delta;
break;
default:
delta=0;
break;
}
*pdelta=delta;
pdelta++;
if(input[i]=='\n'||input[i]=='\r')
{
length=i+1;
break;
}
}
input[i++]='\n';//在输入文字最后加入回车换行和终止符
input[i++]='\r';
input[i]='\0';
printf("\n你输入文字的密文是:\n%s",input);
printf("按任意键开始解密");
getch();
pdelta-=length;
for(i=0;i<length;i++)
input[i]-=pdelta[i];
printf("你输入文字的原文是:\n%s",input);
printf("测试一下指针类型的转换,按任意键继续\n");
getch();
pinput0=(short int *)input;
for(i=0;i<int((length+1)/2);i++)
{
printf("%c ",*((char *)pinput0));
pinput0++;
}
free(pdelta);
return 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?