24小时热门版块排行榜    

查看: 996  |  回复: 6
【悬赏金币】回答本帖问题,作者listenkang将赠送您 5 个金币

listenkang

新虫 (初入文坛)

[求助] 请C语言的人们看看我这个最简单的小程序哪里有问题呢

没有报错 只是不是我想要运行的正确的结果。我想要这个程序实现的是:随机两个数相加,若输出正确的结果,则显示you are right,显示错误的结果,则显示you are wrong,然后问你是否要继续,请输入y或者n,如果你输入y,则重新开始,如果输入n,则谢谢你,你输入其他字符,则提示你请正确输入y或者n。
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
void main()
{int x,y,z;char c;
l:  x=rand();
        y=rand();
printf("%d+%d=?\n",x,y);
scanf("%d",&z);
z=x+y?printf("you are right\n":printf("you are wrong\n";

printf("do you want more? please answer with y or n\n";

m: scanf("%c",&c);
switch(c)
{case '\n':printf("thankyou!bye bye";break;
case '\y':goto l;break;
default:printf("please enter y or n again\n";goto m;
}
}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jackdaniel

捐助贵宾 (著名写手)

做最善良的那一只

【答案】应助回帖

感谢参与,应助指数 +1
switch(c)这句里好像是有问题的,为什么'n'和'y'要处理成'\n'和'\y'?'\n'是回车换行啊。。还有,如果没记错scanf("%c",&c)这句之前应该再有一句来处理输入的结果z之后的那个回车。。
然后就是建议给出所谓的“不是我想要运行的正确的结果”的结果,并且最好能自己进行一下单步调试,毕竟这段代码并不复杂。
对自己负责
2楼2013-07-08 12:31:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Medichen

铜虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
z=x+y?printf("you are right\n)":printf("you are wrong\n";
改成下面试试:
z==x+y?printf("you are right\n)":printf("you are wrong\n";
另,你的程序用了太多的goto,改成循环好些
笨鸟先飞!
3楼2013-07-08 12:32:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

youth0826

至尊木虫 (著名写手)

weibo.com/138147022

【答案】应助回帖

感谢参与,应助指数 +1
循环用while,里面带getchar
QQ群:202610705,关注计算机视觉,模式识别,模式分析,机器学习,人工智能,统计学习,图像处理等,欢迎加入!
4楼2013-07-08 12:52:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

twofirst

木虫 (正式写手)

挖掘机

【答案】应助回帖

感谢参与,应助指数 +1
3楼说得对,初学者要注意判断等式是 ==。
goto方面,可以练习一下去了解运行过程,但在实际应用中能不用尽量不用,因为有不少专家发文章批判它,现在它快“臭名昭著”了
我要挖得更深~挖得更深~~
5楼2013-07-08 14:42:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hyj22998

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
是条件运算语句:z=x+y?printf("you are right\n":printf("you are wrong\n" 的错误。
应改为:z==x+y?printf("you are right\n":printf("you are wrong\n"。
一个等号在C语言中是赋值运算符,两个等号“==”才是判断是否相等的关系运算符。在原语句中是将x,y赋值给Z,然后执行的是printf("you are right\n",虽然是逻辑与设定的逻辑不符,但编译器只给出语法错误,而不能发现逻辑错误,逻辑错误需debug才能发现。
6楼2013-07-08 17:13:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

linhuibiao

金虫 (小有名气)

【答案】应助回帖

goto语句改用for或while语句来实现循环程序会更容易读
你这个程序,最好用函数调用来实现替换goto语句
z=x+y?printf("you are right\n":printf("you are wrong\n";
改为:z==x+y?printf("you are right\n":printf("you are wrong\n";
case '\y':goto l;break;
改为:case 'y':goto l;break;
7楼2013-08-05 18:24:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 listenkang 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 申博 +3 悦悦小小鱼 2024-06-12 3/150 2024-06-12 15:11 by chen5805
[基金申请] 连续两年医学口青年项目初审体会 +8 进击的荣耀 2024-06-09 13/650 2024-06-12 13:50 by AZURESKY1999
[有机交流] 关于30%滴加的问题 300+4 jrl2009 2024-06-05 7/350 2024-06-12 12:55 by zyp0009928
[基金申请] 24年省部级教改项目 浐学妍 开始申报z0052000L +3 slg914 2024-06-11 4/200 2024-06-12 10:37 by lew654
[硕博家园] 机械研究生如何拿到年薪40+w +11 阿巴阿巴哦哦 2024-06-11 12/600 2024-06-12 09:47 by Anivia2015
[基金申请] 蹲一个6月7号江苏省青基公示 +17 yulb1005 2024-06-06 37/1850 2024-06-12 09:09 by 6543yes
[找工作] 应届大龄土博教职选择,石河子大学和广西大学 10+4 茅山老道士 2024-06-10 28/1400 2024-06-12 08:51 by caocao4735
[硕博家园] 博士找工作真难 +18 sdsk47 2024-06-05 23/1150 2024-06-12 06:49 by cherry201077
[基金申请] 有没有机械的前辈分享一下评上海优都是什么成果啊 +3 wulala800 2024-06-10 3/150 2024-06-11 14:34 by andywei1028
[论文投稿] 计算机类,请问eswa与kbs哪个相对来说容易一些啊? +3 chenrui2015 2024-06-08 4/200 2024-06-11 13:37 by p-cloud
[公派出国] 公派出去要准备多少钱? +7 天空之光 2024-06-06 9/450 2024-06-11 08:49 by tfang
[教师之家] 公办双非,学生论文升学就业都不行。一本大学的论文升学就业没问题吧? +5 河西夜郎 2024-06-09 5/250 2024-06-10 17:59 by yyallen2003
[论文投稿] 审稿交流 +5 huyugan123 2024-06-08 7/350 2024-06-10 10:51 by huyugan123
[基金申请] 什么时候会评呢? +7 qq632458 2024-06-07 9/450 2024-06-10 10:07 by Howard28
[基金申请] C口食品 +4 好好不过分 2024-06-09 16/800 2024-06-09 22:08 by Pickfoot
[基金申请] B01化学口的,近几年要什么样的评价才能上会呀? +4 salmon95 2024-06-06 5/250 2024-06-09 09:45 by chem-cai
[基金申请] 5B能上会么? +12 Tenfu 2024-06-05 14/700 2024-06-06 22:34 by mch20120521
[论文投稿] 电化学投稿 +4 爱安沐梅梅 2024-06-06 14/700 2024-06-06 21:51 by 爱安沐梅梅
[论文投稿] 论文大修语言问题 +6 ayyjy 2024-06-05 7/350 2024-06-06 16:19 by p-cloud
[基金申请] 各位,F01口的YQ有收到通知的吗? +3 zmm891258 2024-06-05 5/250 2024-06-05 17:06 by godlovewho
信息提示
请填处理意见