要求把自己的姓名全拼译成密码,编程并上机运行:
密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母“A”后面第4个字母是“E”,用“E”代替“A”,”w”,”x”,”y”,”z”分别用“a”,“b”,“c”,“d”代替。如:要将姓名张三的全拼“zhangsan”译成密码,因此,“zhangsan”应译为“dlerkwer”。
求详细解释,步骤什么的尽量说清楚啦~~~
我的名字全拼是yiliuxin
#include<stdio.h>
int main()
{
char name[20],name_a[20];//定义2个数组用于存放输入的拼音和加密后的拼音
int i=0,j=0;
name[i]=getchar();//首先输入第一个拼音
while(name[i]!='\n')//判断输入的拼音是不是回车键,输入回车键表示输出完成
{
i++; //i+1
name[i]=getchar(); //继续输入下一个拼音
}
i--;//因为如果输入的如果是回车键的话,循环中的i就多加了1,将它减掉
for(j=0;j<=i;j++)
name_a[j]=name[j]+4;//循环操作将输入的拼音都+4,然后存放到另一个数组中
for(j=0;j<=i;j++)
printf("%c",name_a[j]);//将加密后的拼音输出
printf("\n");//为了美观,再输出一个回车,跳一行
}
已测试,成功,只不过w,x,y,z这4个字母+4后的字符可不是拼音了
望采纳~~追问
int main()
{
char name[20],name_a[20];//定义2个数组用于存放输入的拼音和加密后的拼音
int i=0,j=0;
name[i]=getchar();//首先输入第一个拼音
while(name[i]!='\n')//判断输入的拼音是不是回车键,输入回车键表示输出完成
{
i++; //i+1
name[i]=getchar(); //继续输入下一个拼音
}
i--;//因为如果输入的如果是回车键的话,循环中的i就多加了1,将它减掉
for(j=0;j<=i;j++)
name_a[j]=name[j]+4;//循环操作将输入的拼音都+4,然后存放到另一个数组中
for(j=0;j<=i;j++)
printf("%c",name_a[j]);//将加密后的拼音输出
printf("\n");//为了美观,再输出一个回车,跳一行
}
已测试,成功,只不过w,x,y,z这4个字母+4后的字符可不是拼音了
望采纳~~追问
太复杂了啊,我们刚开始学,这是作业,一看就不是自己写的啦。。。
追答我都是用简单语法写的呀~~而且还都有解释的。其实一般都是能看懂就不错了,把别人的变成自己的
追问while以后就看不懂了。。。。。
追答有解释也看不懂么?你还是先去把我用的这些函数的基本功能看看。然后再分析逻辑吧~
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-03-28
我们首先分3部分
1、输入
char* ch=new char[100]; //分配内存
scanf("%s",&ch);
2、加密
int len=strlen(ch); //长度
int i;
for(i=0;i<=len-1;i++)
{
switch(ch[i])
{
case 'w':ch[i]='a';
case 'x':ch[i]='b';
case 'y':ch[i]='c';
case 'z':ch[i]='d';
default:ch[i]+=4; //其他情况就把ASDII码+4
}
}
3、输出
1、输入
char* ch=new char[100]; //分配内存
scanf("%s",&ch);
2、加密
int len=strlen(ch); //长度
int i;
for(i=0;i<=len-1;i++)
{
switch(ch[i])
{
case 'w':ch[i]='a';
case 'x':ch[i]='b';
case 'y':ch[i]='c';
case 'z':ch[i]='d';
default:ch[i]+=4; //其他情况就把ASDII码+4
}
}
3、输出
第2个回答 2014-03-28
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char str[100];
scanf("%s",str);
for (int i=0;i<strlen(str);i++)
str[i]<='z'&&str[i]>='w' ? str[i]+='a'-'w':str[i]+=4;
printf("%s",str);
system("pause");
}
#include <string.h>
#include <stdlib.h>
int main()
{
char str[100];
scanf("%s",str);
for (int i=0;i<strlen(str);i++)
str[i]<='z'&&str[i]>='w' ? str[i]+='a'-'w':str[i]+=4;
printf("%s",str);
system("pause");
}