C语言数学运算的问题

2025-04-29 19:36:26
推荐回答(1个)
回答1:

#include
#include
#include

void Encrypt(char *str)
{
int ascii;
srand(time(NULL));
int i,ran=rand()%9+1;
char *code=(char*)malloc(strlen(str)+1);
char ch;

printf("%d\n\n",ran);
for(i=0;i {
ch=str[i];
ascii=(int)ch;
if(ascii>=33&&ascii<=47)
{
ascii=(ascii+ran)*2;
}
else if(ascii>=48&&ascii<=57)
{
printf("%d\n",ascii);
ascii=ascii*2+ran;
printf("%d\n",ascii);
}
else if(ascii>=58&&ascii<=64)
{
ascii=ascii-ran*2+ascii;
}
else if(ascii>=65&&ascii<=90)
{
ascii=ascii-ran*3+ascii;
}
else if(ascii>=91&&ascii<=126)
{
ascii=ascii-ran*5;
}
code[i]=(char)ascii;
}
code[i]='\0';
printf("code:%s\n",code);
free(code);
}

int main()
{
Encrypt("123456");
system("PAUSE");
return 0;
}