鱼C论坛

 找回密码
 立即注册
查看: 1373|回复: 3

c语言密码程序

[复制链接]
发表于 2015-8-22 23:29:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我自己编写的密码程序
#include<stdio.h>
void main()
{
        char a;
                printf("please getchar :  \n");
                while((getchar())!='\n');
                {
                if(90<a&&a<=94||a>112)
                        a=a-26;
                else if(97<=a&&a<=119||65<=a&&a<=90)
                        a=a+4;
                printf("%c\n",a);
                }


}
但是一弄就是编译就是?
正确答案是
#include <stdio.h>
void main()
{
char ch;
while((ch = getchar()) != '\n')
{
if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
ch = ch+4;
if((ch > 'Z' && ch <= 'Z'+4) || ch > 'z')
ch = ch-26;
printf("%c", ch);
}
printf("\n");
}
我想知道我的程序哪有问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-23 09:50:09 | 显示全部楼层
getchar()会返回 输入的字符 但是你并没有把返回的值赋予变量a
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-23 09:55:42 | 显示全部楼层
1. a 的值是多少?
2. while 多了一个 分号。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-23 10:07:45 | 显示全部楼层
这个问题我解决了,下面是正确的代码,首先我while后面加了个分号,其次不用打return0还有while里面少了一个ch
#include<stdio.h>
void main()
{
        char ch;
                printf("please getchar :  \n");
                while((ch=getchar())!='\n')
                {
                if(87<=ch&&90>=ch||119<=ch&&112>=ch)
                        ch=ch-22;
                else
                        ch=ch+4;
                printf("%c",ch);
                }
                printf("\n");

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 08:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表