| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3404 人关注过本帖
标题:scanf里面%c前面什么时候加空格,为什么有时候加有时候不加
只看楼主 加入收藏
黑暗骑士5D
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2019-11-6
结帖率:100%
收藏
 问题点数:0 回复次数:3 
scanf里面%c前面什么时候加空格,为什么有时候加有时候不加
输入一个四则运算表达式,输出运算结果,要求对除数为0的情况作特别处理。题目保证输入与输出均在双精度范围内。

输入格式:
输入在一行中依次输入操作数1、运算符、操作数2,其间没有空格,操作数的数据类型为实型。

输出格式:
在一行中输出表达式的运算结果,保留两位小数。
比如这道题
如果除法分母为0,则输出错误信息“Divisor can not be 0!”;如果输入了除加减乘除以外的非法运算符,则输出错误信息“Unknown operator!”。

输入样例1:
3.1+4.8
输出样例1:
7.90
输入样例2:
98/0
输出样例2:
Divisor can not be 0!
输入样例1:
123%3
输出样例1:
Unknown operator!


int main()
{
   double a,b,d;
   char c;
   scanf("%lf%c%lf",&a,&c,&b);
   switch(c)
  {case'+':printf("%.2lf",a+b);break;
   case'-':printf("%.2lf",a-b);break;
   case'*':printf("%.2lf",a*b);break;
   case'/':
    {if(b==0)
    printf("Divisor can not be 0!");
    else if(b!=0)
    printf("%.2lf",a/b);break;
    }break;
   default:printf("Unknown operator!");break;
  }
  return 0;
}
为什么这个里面%c前面不加
搜索更多相关主题的帖子: case 输出 break printf 输入 
2019-11-17 11:50
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
为什么这个里面%c前面不加
因为
其间没有空格

2019-11-18 09:27
黑暗骑士5D
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2019-11-6
收藏
得分:0 
回复 2楼 rjsp
为什么有时候要加
2019-11-19 12:25
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
以下是引用黑暗骑士5D在2019-11-19 12:25:54的发言:

为什么有时候要加

你问的东西怎么如此奇怪?
scanf 的格式化字符串中,空白字符 表示略过连续的所有空白字符。你需要略过空白字符,你就加;你不需要略过空白字符,你就不加。

就像吃法,饿了想吃就吃,饱了不想吃就不吃。为什么老是问“为什么有时吃饭有时不吃饭”
2019-11-19 13:21
快速回复:scanf里面%c前面什么时候加空格,为什么有时候加有时候不加
数据加载中...
 
   



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

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