注册 登录
编程论坛 C语言论坛

我想问一下为什么下面的代码不行?

望卿安好 发布于 2020-03-07 22:35, 1882 次点击
#include<stdio.h>
int main()
{
    char c1,c2,c3,c4,c5,C,h,i,n,a;
    scanf("%c%c%c%c%c",&c1,&c2,&c3,&c4,&c5);
    C=C+4;
    h=h+4;
    i=i+4;
    n=n+4;
    a=a+4;
    c1=C;
    c2=h;
    c3=i;
    c4=n;
    c5=a;
    printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);
    return 0;
}
要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.

例如,字母"A"后面第4个字母是"E"."E"代替"A"。因此,"China"应译为"Glmre"。

请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。

输入
China

输出
加密后的China

样例输入
China
样例输出
Glmre
5 回复
#2
吹水佬2020-03-08 07:12
    char c1,c2,c3,c4,c5,C,h,i,n,a;
    scanf("%c%c%c%c%c",&c1,&c2,&c3,&c4,&c5);
    C=C+4 这时C是不确定的
#3
望卿安好2020-03-08 08:12
只有本站会员才能查看附件,请 登录

#include<stdio.h>
int main()
{
    char c1,c2,c3,c4,c5,C,h,i,n,a;
    scanf("%c%c%c%c%c",&C,&h,&i,&n,&a);
    c1=C+4;c2=h+4;c3=i+4;c4=n+4;c5=a+4;
    printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);
    return 0;
}
多谢指点,我刚接触C语言,许多地方都不是很懂,其实你写的那个程序
我也看不懂,不过你把我的错误一针见血地指了出来,我又改了一次就通过了
真的要谢谢你
#4
望卿安好2020-03-08 08:17
回复 3楼 吹水佬
#include<stdio.h>
int main()
{
    char c1,c2,c3,c4,c5,C,h,i,n,a;
    scanf("%c%c%c%c%c",&C,&h,&i,&n,&a);
    c1=C+4;c2=h+4;c3=i+4;c4=n+4;c5=a+4;
    printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);
    return 0;
}
多谢指点,我刚接触C语言,许多地方都不是很懂,其实你写的那个程序
我也没看懂,不过你把我的错误一针见血地指了出来,我又改了一次就通过了
真的要谢谢你
只有本站会员才能查看附件,请 登录
#5
自学的数学2020-03-08 09:44
用这种方式太老土了,你试试这个方法,这也很好理解的:
程序代码:
#include <stdio.h>
#include <ctype.h>
int main()
{ char a[50];
  int i,b;
  gets(a);
  for(i=0; a[i]; i++)
    {a[i]+=4;
     if(a[i]%32>25)a[i]-=26;
    }
  puts(a);
  return 0;
}
#6
望卿安好2020-03-08 10:47
回复 6楼 自学的数学
不好意思啊,这个代码看起来确实比我的好用,不过我刚开始学,对于for,if以及一些字符了解还不多,我相信以后我会看懂的,不过还是要谢谢你的提醒。
1