| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 463 人关注过本帖
标题:计算器问题
只看楼主 加入收藏
阿百川
Rank: 2
来 自:大连
等 级:论坛游民
帖 子:18
专家分:33
注 册:2011-8-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
计算器问题
#include<stdio.h>
main()
{
double a,b;
    char c;
    scanf("%lf%c%lf",&a,&c,&b);
    switch(c)
    {
    case '+':a+=b;break;
    case '-':a-=b;break;
    case '*':a*=b;break;
    case '/':a/=b;break;
    }
    printf("%lf  ",a);
    while(1)
    {
        scanf("%c%lf",&c,&b);
        if(c=='n')
            break;
switch(c)
    {
    case '+':a=a+b;break;
    case '-':a-=b;break;
    case '*':a*=b;break;
    case '/':a/=b;break;
    }
printf("%lf  ",a);
    }
   
   return 0;}
各位高手们,这么写为什么第二次加法运算不对呢?还是我这个程序本身就不对呀。求解释
搜索更多相关主题的帖子: 计算器 include double return 计算器 include double return 
2011-09-23 16:58
唯我独魔
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:176
专家分:782
注 册:2011-4-13
收藏
得分:7 
#include<stdio.h>
main()
{
double a,b;
    char c;
    scanf("%lf%c%lf",&a,&c,&b);
    switch(c)
    {
    case '+':a+=b;break;
    case '-':a-=b;break;
    case '*':a*=b;break;
    case '/':a/=b;break;
    }
    printf("%lf  ",a);
    while(1)
    {
        scanf(" %c%lf",&c,&b);/*这里改了一下,%前加一个空格*/
        if(c=='n')
            break;
switch(c)
    {
    case '+':a=a+b;break;
    case '-':a-=b;break;
    case '*':a*=b;break;
    case '/':a/=b;break;
    }
printf("%lf  ",a);
    }
   
   return 0;}
2011-09-23 17:09
唯我独魔
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:176
专家分:782
注 册:2011-4-13
收藏
得分:0 
原因是你在第一次输入a c b的时候以回车结束,这个留在了输入缓存中,第二次遇到%c,c就变成了回车了,加个空格跳过这些符号
2011-09-23 17:11
阿百川
Rank: 2
来 自:大连
等 级:论坛游民
帖 子:18
专家分:33
注 册:2011-8-21
收藏
得分:0 
回复 2楼 唯我独魔
为什么乘除法能能运行呢?
2011-09-23 17:17
唯我独魔
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:176
专家分:782
注 册:2011-4-13
收藏
得分:0 
回复 4楼 阿百川
乘除法运行也有问题的,你会发现它会输出两个数字,第一次就是遇到回车,输出原数字,第二次才是输出乘法运算的数字
2011-09-23 17:24
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:7 
回复 楼主 阿百川
当switch缺失default语句时,系统会跳过switch语句

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-09-23 19:44
lbw519215667
Rank: 1
等 级:新手上路
帖 子:2
专家分:7
注 册:2011-9-22
收藏
得分:7 
学到了
2011-09-23 22:58
lbw519215667
Rank: 1
等 级:新手上路
帖 子:2
专家分:7
注 册:2011-9-22
收藏
得分:0 
为什么不加空格先加再用除法会先出现前一次的结果????
2011-09-23 23:01
快速回复:计算器问题
数据加载中...
 
   



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

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