C++中怎么判断输入数字类型是整型还是浮点数?

具体问题:编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除运算。如果是除法,题目保证除数不为0。输入格式:在一行中输入操作数1、运算符、操作数2,... 具体问题:编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除运算。如果是除法,题目保证除数不为0。 输入格式:在一行中输入操作数1、运算符、操作数2,其间用1个空格分隔。操作数为整数。输出格式:整数计算结果(除法为整数除),如果输入格式非法,则输出字符'E' 如输入:11 / -2,则输出:-5 如输入:3.0 + 6,则输出:E 展开
 我来答
帐号已注销
2020-03-01 · TA获得超过318个赞
知道小有建树答主
回答量:345
采纳率:90%
帮助的人:94.6万
展开全部
不需要判断输入数字类型是整型还是浮点数,而且也根本无法判断。
解决办法:用scanf读取输入数据,同时判断是否读取完毕。这是因为符合输入格式,输入流中只会剩下换行符'\n'。
代码片段如下:
int a, b; char c;
scanf("%d %c %d", &a, &c, &b);
if (getchar() != '\n') // 如果输入 3.0 + 6,那么a=3,c='.',b=0,输入流就会剩下" + 6",因此可判定输入格式非法;如果输入3 + 6,那么a=3,c='+',b=6,输入流只会剩下换行符'\n',由此判定输入格式合法
{
printf("E\n"); // 输出:E
while (getchar() != '\n'); // 清空输入流中的内容
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式