c语言,问题

要将“Chian”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母‘A’后面第4个字母是'E‘,用’E‘代替’A‘。因此“China”应译为“Glmre”。请编译程序,用赋初值的方法使c1,c2,c3,c4,c5这5个变量的值分别为‘C’,‘h’,‘i’,‘n’,‘a’,经过运算,使c1,c2,c3,c4,c5,分别变为‘G’,‘l’,‘m’,‘r’,‘e’,并输出~ 这个该怎么编写程序呢?

第1个回答  2011-10-12
#include<stdio.h>

int main(void)
{
char c1='c',c2='h',c3='i',c4='n',c5='a';
printf("c1=%c,c2=%c,c3=%c,c4=%c,c5=%c",c1+4,c2+4,c3+4,c4+4,c5+5);
printf("%c%c%c%c%c",c1+4,c2+4,c3+4,c4+4,c5+4);
return 0;
}
ok 你想用别的方法在找我哈本回答被提问者采纳
第2个回答  2011-10-12
ASCII码你应该知道,A(65)、E(69),因此A+4=E。
c1+=4;c2+=4;c3+=4;c4+=4;c5+=5;问题解决。
第3个回答  2011-10-12
#include <stdio.h>
int main()
{
char c[6]={"China"};
int i;
for(i=0;i<5;i++)
{
c[i]+=4;
}
printf("%s\n",c);
return 0;
}
第4个回答  2011-10-12
#include "stdio.h"
main()
{
int c1='C',c2='h',c3='i',c4='n',c5='a';
if((c1>='W'&&c1<='Z')||(c1>='w'&&c1<='z'))
c1=c1-26+4;
else
c1=c1+4;
if((c2>='W'&&c2<='Z')||(c2>='w'&&c2<='z'))
c2=c2-26+4;
else
c2=c2+4;
if((c3>='W'&&c3<='Z')||(c3>='w'&&c3<='z'))
c3=c3-26+4;
else
c3=c3+4;

if((c4>='W'&&c4<='Z')||(c4>='w'&&c4<='z'))
c4=c4-26+4;
else
c4=c4+4;
if((c5>='W'&&c5<='Z')||(c5>='w'&&c5<='z'))
c5=c5-26+4;
else
c5=c5+4;
printf("%c%c%c%c%c",c1,c2,c3,c4,c5);
getch();
}