c语言之字符串加密与解密
#include <stdio.h>#include <stdlib.h>
char JieMi(char c[])
{
int i;
printf("请输入:");
scanf("%s",c);
for (i=0;c!='\0';i++)
{
if ((c>='e'&&c<='z')||(c>='E'&&c<='Z'))
c -= 4;
else if ((c>='a'&&c<='d')||(c>='A'&&c<='D'))
c +=22;
}
puts(c);
return 0;
}
char JiaMi(char s[])
{
int i;
printf("请输入:");
scanf("%s",s);
for(i=0;s!='\0';i++)
{
if ((s>='a'&&s<='v')||(s>='A'&&s<='V'))
s += 4;
else if ((s>='w'&&s<='z')||(s>='W'&&s<='Z'))
s -= 22;
}
puts(s);
return 0;
}
int main()
{
char JiaMi(char s);
char JieMi(char c);
int a;
char s,c;
printf("1-数据加密2-数据解密\n");
s : scanf("%d",&a);
if (a==1)
{
JiaMi(s);
}
else if (a==2)
{
JieMi(c);
}
else
{
printf("请重新输入!\n");
goto s;
}
system("pause");
return 0;
}
小甲鱼老师,这个是一个加密字符串的c语言代码,但是在执行时,输入的字符串,例:fishc 123
他就只能输出空格前面的东西,遇到空格就直接结束那个循环了,求各位朋友指导~~谢谢~~~
不要用%s输入 牡丹花下死做鬼 发表于 2014-12-20 16:29
不要用%s输入
那是用那个呢?gets()吗?
213421 发表于 2014-12-20 17:36
那是用那个呢?gets()吗?
用这个gets(),他会直接退出啦
for example
#include<stdio.h>
void Encryption(char * str);
int main()
{
char ch;
char str;
int i = 0;
printf("Please Input a string(English and number):");
while((ch = getchar())!='\n')
{
str = ch;
i++;
}
str = '\0';
Encryption(str);
return 0;
}
void Encryption(char * str)
{
int i = 0;
char ch;
while(*(str+i)!='\0')
{
ch = *(str+i)+5;
printf("%c",ch);
i++;
}
printf("\n");
}
页:
[1]