| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1174 人关注过本帖
标题:写个简单的计算器代码,输出都是负值,求解
只看楼主 加入收藏
寒冰003
Rank: 1
等 级:新手上路
帖 子:9
专家分:8
注 册:2015-1-27
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:12 
写个简单的计算器代码,输出都是负值,求解
程序代码:
#include "stdio.h"
void main()
{
    int a,b,c,d;
    printf("请输入:");
    scanf("%d",&a);
    scanf("%c",&c);
    scanf("%d",&b);
    switch(c)
    {
    case '+':d=a+b;break;
    case '-':d=a-b;break;
    case '*':d=a*b;break;
    case '/':d=a/b;break;
    }
    printf("%d",d);
}
错哪里了,求告知,虚心求教中
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 计算器 
2015-02-28 14:03
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:3 
scanf("%c",&c); // c不是char类型
2015-02-28 14:11
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:3 
程序代码:
#include <stdio.h>

int main(void)
{
    int a = 0;
    int b = 0;
    int res = 0;
    char op = 0;
    printf("请输入:");
    scanf("%d%c%d",&a, &op, &b);
    switch (op)
    {
    case '+':
        res = a + b;
        break;
    case '-':
        res = a - b;
        break;
    case '*':
        res = a * b;
        break;
    case '/':
        res = a / b;
        break;
    }
    printf("res = %d
", res);
    return 0;
}


你的代码里都有乱码 怎么看 看看我写的这个好使不

怎么我的发出来也有乱码
2015-02-28 14:15
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
'a'
2015-02-28 14:16
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8913
专家分:2567
注 册:2004-3-25
收藏
得分:3 
test
''


畅所欲言
2015-02-28 14:41
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8913
专家分:2567
注 册:2004-3-25
收藏
得分:0 
已修复
''


畅所欲言
2015-02-28 14:41
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:3 
#include <stdio.h>

int main(void) {
    double a, b, val;
    char ch;
    if((scanf("%lf%[+, -, *, /]%lf", &a, &ch, &b)) < 3) return 1;

    switch(ch) {
        case '+':
            val = a + b;
            break;

        case '-':
            val = a - b;
            break;

        case '*':
            val = a * b;
            break;

        case '/':
            if(!b) return 1;

            val = a / b;
    }

    printf("%.2f %c %.2f = %.2f\n", a, ch, b, val);
    return 0;
}

Only the Code Tells the Truth             K.I.S.S
2015-02-28 14:43
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:3 
问题的根本在于 switch(),括号里面必须是int型的  你的scanf("%c",&c);就不匹配,怎么对?

怎么那么多人喜欢帮别人写代码呢?费解!!!

授人以鱼,不如授人以渔
2015-02-28 15:37
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
问题的根本在于 switch(),括号里面必须是int型的  你的scanf("%c",&c);就不匹配,怎么对?

怎么那么多人喜欢帮别人写代码呢?费解!!!

授人以鱼,不如授人以渔
2015-02-28 15:37
yangcaifei
Rank: 4
来 自:陕西
等 级:业余侠客
威 望:2
帖 子:127
专家分:216
注 册:2014-11-3
收藏
得分:3 
c你定义的是int类型的,怎么又scanf("%c",&c)呢
2015-02-28 16:06
快速回复:写个简单的计算器代码,输出都是负值,求解
数据加载中...
 
   



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

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