| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 783 人关注过本帖
标题:译密码问题 为什么运行不出来
只看楼主 加入收藏
美美学c
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2023-9-9
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:6 
译密码问题 为什么运行不出来
#include <stdio.h>
#define M 10
int main() {
    int i,n,a[M];
char b;
scanf("%d",&i);
for(n=0;n<i;n++)
{scanf("%c",b);
a[n]=b;
}
for(n=0;n<i;n++)
{if((a[n]>=87&&a[n]<=90)||(a[n]>=119&&a[n]<=122))
a[n]=a[n]-22;
else if((a[n]>=65&&a[n]<87)||(a[n]>=97&&a[n]<122))
a[n]=a[n]+4;
else a[n]=a[n];
}
for(n=0;n<i;n++)
{printf('%c',a[n]);}
return 0;
}
 
搜索更多相关主题的帖子: for 运行 密码 if scanf 
2023-09-29 20:19
邹生笑谈
Rank: 2
等 级:论坛游民
帖 子:16
专家分:48
注 册:2020-12-5
收藏
得分:20 
运行了一下,提示的错误是最后一个输出有问题。应该是printf("%d",a[n]);

错误点:单引号错了,应该是双引号。

至于里面的参数是%c还是%d,那就看你想干什么了。
2023-09-29 21:01
美美学c
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2023-9-9
收藏
得分:0 
回复 2楼 邹生笑谈
大佬 改了那个错误 还是运行不出来 题目要求是将China!译为Glmre!
2023-09-30 19:59
美美学c
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2023-9-9
收藏
得分:0 
回复 楼主 美美学c
这个程序目前发现如下问题
1.scanf加循环,永无止境。且scanf循环格式错误应为&b
2.定义的数组应为char型
3.由于输入的是字符应与字符比较而非ascii值
4.字符串的输入输出应使用gets()和puts()
请大佬指教

2023-09-30 20:26
邹生笑谈
Rank: 2
等 级:论坛游民
帖 子:16
专家分:48
注 册:2020-12-5
收藏
得分:0 
回复 3楼 美美学c
好吧,我运行了还没测试。你还有错误:
第二个输入,你格式不对,scanf("%c",b);应该是scanf("%c",&b);(明明第一个你记得加&了)
另外,scanf的输入是有缓存的,之后再用scanf缓存也会读进去。
例如   你的scanf("%c",&b);//输入字符到b(空格回车制表符也算)
因此测试输入是:
1.输入5china
2.按回车
3.显示

效果为
5china
glmre请按任意键继续. . .
2023-10-01 14:44
邹生笑谈
Rank: 2
等 级:论坛游民
帖 子:16
专家分:48
注 册:2020-12-5
收藏
得分:0 
回复 4楼 美美学c
原来的没这么多问题啊,原来的代码你只需要改我说的那两个地方,基本可以达到核心目的了。
你原来的思路不就是把输入的字符专为ASCII码,再进行密码操作,再次输出吗。
最后你用单引号,是打算一个一个输出,但是单引号表示一个字符,这是输入字符的putchar()的。printf里面是【格式控制字符串】,是用双引号的,表示一个字符串。所以用双引号格式才对。

==========================================
我看了教材上有一句话:

与只能输出字符的putchar()相比,printf既能以字符格式输出也能以十进制整型格式输出char变量的值,以十进制输入的是char变量的ASCII码的值。
因此我想反过来以整型输出字符串也可以。我上网看到关于printf的一句话:char 和int 型可以任意被 %c 和 %d 解释,解释结果对应各自的ASCII码 和 char 数据,但是在使用时要小心,别出错。

至于你的2.3.问题,我觉得可以这样改
你的4,这函数我不了解,你自己查查。scanf也可以输出字符串,但是格式要求严格。
2023-10-01 15:07
美美学c
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2023-9-9
收藏
得分:0 
回复 6楼 邹生笑谈
好的 感谢大佬
2023-10-01 20:11
快速回复:译密码问题 为什么运行不出来
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031285 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved