① C语言编程问题:从键盘上输入一个字符串按照以下规则对其加密。
#include<stdio.h>
#include<string.h>
intmain(){
inti;
chars[80];
printf("请输入字符串:");
while(scanf("%s",s)==1)
{
printf("加密前:%s ",s);
i=0;//i定义在此处便于第二次运行
while(s[i])
{if(s[i]>='A'&&s[i]<='Z')
s[i]=(s[i]-'A'+3)%26+'A';
elseif(s[i]>='a'&&s[i]<='z')
s[i]=(s[i]-'a'+3)%26+'a';
++i;}
printf("加密后:%s ",s);
printf("请输入字符串[<Ctrl+Z><ENTER>结束程序]:");
}
return0;
}
② C语言怎么加密字符
#include<stdio.h>
#include<string.h>
intmain()
{
charstr[]="00000",str2[]="00000",*p=str,*p2=str2;
printf("输入5个字母:");
while(*p!=0)
{
scanf("%c",p);
if(*p=='
')
continue;
if(*p<'A'||(*p>'Z'&&*p<'a')||*p>'z')//输入验证,必须是字母
{
printf("只能输入字母,请重新输入
");
p=str;
p2=str2;
fflush(stdin);//输入有错重新输入前清空缓冲区。fflush属于c扩展函数,正常使用没问题,如需在linuxggc上使用,考虑多次调用getchar函数来清空
}
else
{
*p2=(*p)+4;
if(*p2>90&&*p2<97)//大写字母加4,最大位不超出
*p2='A'+(*p2-90)-1;
if(*p2>122)//小写字母加4,最大位不超出
*p2='a'+(*p2-122)-1;
p2++;
p++;
}
}
printf("原字符串为:%s
加密后的字符串为:%s
",str,str2);
return0;
}
③ 输入一个字符串作为密码,程序实现密码加密.
#include <stdio.h>
#include <stdlib.h>
int main(){
char* str = malloc(21);
char *p = str;
int i ;
//memset(str,0,21);
printf("输入字符串:");
scanf("%s",str);
while(*str != '