| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 974 人关注过本帖
标题:哥哥,这个你真搞定了,那你是真厉害!
只看楼主 加入收藏
傻瓜笨笨1986
Rank: 1
等 级:新手上路
帖 子:29
专家分:3
注 册:2010-10-8
结帖率:77.78%
收藏
已结贴  问题点数:5 回复次数:15 
哥哥,这个你真搞定了,那你是真厉害!
#include <math.h>
#include <stdio.h>

main()
{
     float num1,num2,result;
     char answer,fuhao;
     int right;
     clrscr();/*清平*/
    printf("*********welcome to lin er ming's system*********");
    printf("\n");
     do
     {
         printf("please enter num1,fuhao,num2:");
         scanf("%f,%c,%f",&num1,&fuhao,&num2);/*可以修改输入,会更好*/
         printf("please enter your answer:");
         scanf("%f",&result);
         switch(fuhao)
         {
             case '+':if(result==(num1+num2)) right=1;
                         else
                           right=0;
                       break;
            case '-':if(result==(num1-num2)) right=1;
                       else
                           right=0;
                       break;
            case '*':if(result==(num1*num2)) right=1;
                       else
                           right=0;
                       break;
            case '/':if(num2==0) printf("\ninput wrong! ben ben,ha ha!!");
                       else
                       {
                           if(result==(num1/num2)) right=1;
                       else
                           right=0;
                        }
                           break;
         }
             if(right)
                 printf("\nyou are ringht!");
             else
                 printf("\nplease try again!");
                  printf("\ndo you want togo on?(please choose 'y'or'n')");
             scanf("%c",&answer);
            
            
     }while((answer=='y')||(answer=='Y'));/*这个时候输入y或者Y都不循环,怎么搞的*/
}
/* 各位哥哥姐姐,我吧answer给成char型了,不过在运行到scanf("%c",&answer);
它并不跳入输入界面我观测answer发现,scanf("%c",&answer);
不能让answer赋值,直接用answer='y'就行了,大家看看怎么才能让scanf("%c",&answer);
可以赋值给answer*//*我又发现程序运行后会自己赋值\n给answer*/
搜索更多相关主题的帖子: welcome include please system result 
2010-10-13 00:44
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:0 
不带这样用激将法的。。。。

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-10-13 00:46
cacker
该用户已被删除
收藏
得分:1 
提示: 作者被禁止或删除 内容自动屏蔽
2010-10-13 00:54
傻瓜笨笨1986
Rank: 1
等 级:新手上路
帖 子:29
专家分:3
注 册:2010-10-8
收藏
得分:0 
回复 2楼 御坂美琴
实在是没办法了,调一天了!!
2010-10-13 08:54
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:2 
问题确实很弱!!!
你这样改看看:
           scanf("%*c%c",&answer);
或者在原来的 scanf("%c",&answer);前面加个getchar();


[ 本帖最后由 jack10141 于 2010-10-13 12:54 编辑 ]

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-10-13 11:56
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:1 
楼猪啊

想象力征服世界
2010-10-13 12:47
傻瓜笨笨1986
Rank: 1
等 级:新手上路
帖 子:29
专家分:3
注 册:2010-10-8
收藏
得分:0 
回复 6楼 longlong89
晕,光知道说我,你怎么就不说说是什么问题呢,你要是不知道,你不和我一样啊
2010-10-13 19:01
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:1 
程序代码:
#include <math.h>
#include <stdio.h>
int  main()
{
    printf("z=%100d",300);
     float num1,num2,result;
     char answer,fuhao;
     int right;
    printf("*********welcome to lin er ming's system*********");
    printf("\n");
     do
     {
         printf("please enter num1,fuhao,num2:");
         scanf("%f%c%f",&num1,&fuhao,&num2);/*可以修改输入,会更好*/
         printf("please enter your answer:");
         scanf("%f",&result);
         switch(fuhao)
         {
             case '+':if(result==(num1+num2)) right=1;
                         else
                           right=0;
                       break;
            case '-':if(result==(num1-num2)) right=1;
                       else
                           right=0;
                       break;
            case '*':if(result==(num1*num2)) right=1;
                       else
                           right=0;
                       break;
            case '/':if(num2==0) printf("\ninput wrong! ben ben,ha ha!!");
                       else
                       {
                           if(result==(num1/num2)) right=1;
                       else
                           right=0;
                        }
                           break;
         }
             if(right)
                 printf("\nyou are ringht!");
             else
                 printf("\nplease try again!");
                 printf("\ndo you want togo on?(please choose 'y'or'n')");
                 getchar();
                 scanf("%c",&answer);
            
            
     }while((answer=='y')||(answer=='Y'));/*这个时候输入y或者Y都不循环,怎么搞的*/
}

楼上都说的是对的啊 !还没理解啊!我帮你改下

If You Want Something, Go Get It, Period.
2010-10-13 19:05
傻瓜笨笨1986
Rank: 1
等 级:新手上路
帖 子:29
专家分:3
注 册:2010-10-8
收藏
得分:0 
回复 5楼 jack10141
版主,为什么像你scanf("%*c%c",&answer);这样加个%*c就可以了啊,加这个是什么意思啊,为什么我原来写的不行啊,错在哪里啊596615177
2010-10-13 19:23
傻瓜笨笨1986
Rank: 1
等 级:新手上路
帖 子:29
专家分:3
注 册:2010-10-8
收藏
得分:0 
回复 8楼 m21wo
你的好像不行啊
2010-10-13 19:48
快速回复:哥哥,这个你真搞定了,那你是真厉害!
数据加载中...
 
   



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

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