| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 350 人关注过本帖
标题:请教一下简单的计算器问题
只看楼主 加入收藏
Hollie
Rank: 1
等 级:新手上路
帖 子:19
专家分:1
注 册:2009-9-29
结帖率:0
收藏
 问题点数:0 回复次数:1 
请教一下简单的计算器问题
#include<stdio.h> 
void main()
{
    char ch;
    float a,b,max;
   scanf("%f%c%f",&a,&ch,&b);
   switch(ch)
   {
    case '+':max=a+b;printf("%.2f",max);break;
    case '-':max=a-b;printf("%.2f",max);break;
    case '*':max=a*b;printf("%.2f",max);break;
    case '/':
        if(b==0) printf("error\n");
        else max=a/b;printf("%.2f",max);
   }
printf("%\n");
}


我想问下 为什么我把输入语句   scanf("%f%c%f",&a,&ch,&b);
改为        scanf("%f%f%c",&a,&b,&ch);   就得不出结果?
还有,输入语句默认的分隔符号不是空格符吗? 为什么这里不能用空格符 用了得不出结果
也就是说只能一次输完,输入的格式为 3-2    而不能3 - 2
 
 
还有 最后的除法时  case '/':
        if(b==0) printf("error\n");
        else max=a/b;printf("%.2f",max);

输入的数b=0的时候  输出的是error   然后还输出了句乱码   


以前的两个问题没弄懂   希望大虾门指点下




2009-12-23 14:46
Hollie
Rank: 1
等 级:新手上路
帖 子:19
专家分:1
注 册:2009-9-29
收藏
得分:0 
忘记了 原来空格符这里被当做输入的字符了  怪不得没结果


可是后面为什么会结果还有乱码呢?
2009-12-23 14:52
快速回复:请教一下简单的计算器问题
数据加载中...
 
   



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

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