问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

...的是否是数字,如果是进行运算,如果不是输出输入错误,【给以下代码...

提问网友 发布时间:2025-01-09 08:14
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
1个回答
热心网友 回答时间:2025-01-15 17:10

scanf函数的返回值是输入数据与格式匹配的数量,所以可以利用scanf的返回值来判断输入是否正确:

#include <stdio.h> 
float add(float x, float y)
{
return x + y;
}
float minus(float x, float y)
{
return x - y;
}
float multiply(float x, float y)
{
return x*y;
}
float division(float x, float y)
{
return x / y;
}

int main()
{
//定义变量
float a, b, result;
int choose;
do
{
//输入数据

printf("1. 加法 2. 减法 \n");
printf("3. 乘法 4. 除法 \n");
printf("0. 退出程序\n");
printf("请选择: \n");
scanf("%d", &choose);
if (choose != 0)
{
printf("请输入两个数: ");
//=========================
//scanf返回值是输入数据与格式相匹配的数量
while (getchar() != '\n');  //先清空输入缓冲区,因为选择的时候可能会输入"2a"这样的情况
while (2 != scanf("%f %f", &a, &b))
{
printf("输入错误!请重新输入:");
while (getchar() != '\n'); //清空输入缓冲区
}
//===========================
}
switch (choose)
{
case 1:
result = add(a, b);
printf("result=%.2f\n", result);
break;
case 2:
result = minus(a, b);
printf("result=%.2f\n", result);
break;
case 3:
result = multiply(a, b);
printf("result=%.2f\n", result);
break;
case 4:
{
if (b == 0)
{
printf("结果错误\n");
}
else
{
result = division(a, b);
printf("result=%.2f\n", result);
}
}

break;
case 0:
printf("欢迎再次使用本软件,再见!\n");
break;
default:
printf("输入错误\n");
}
} while (choose != 0);
return 9;
}

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

思科到底是干嘛的 哪里可以找到双色球走势图? 由于拖欠工资辞职信 潘婷洗发水使用感怎么样? 联想电脑无线网打不开怎么回事联想笔记本电脑WiFi打不开显示红叉怎么... 电脑打开无线开关没反应笔记本电脑wifi打不开怎么办 电脑无线网络打不开笔记本电脑的无线功能被关闭了但是打不开请问怎么... 电脑wifi关如何打开笔记本电脑的无线功能被关闭了但是打不开请问怎么... 苹果电脑wifi打不开啥情况苹果Macbook电脑WiFi打不开怎么办 笔记本电脑为什么wifi打不开了笔记本电脑的无线功能被关闭了但是打不... 笔记本电脑wifi打不开怎么办笔记本电脑的无线功能被关闭了但是打不开... 冬天去香格里拉游玩是什么体验? 神秘的香格里拉内容简介 求京东商城人工服务电话是多少√ 350983开头的身份证 燕窝 哪个牌子最好 r播韩剧来了张宝利国语为什么没有国语 求生之路2怎么搞出两种witch? 求生之路2怎么打witch 女巫打法技巧 求生之路2全是女鬼的是什么模式 谁能介绍几部暴力影片 有哪些学校打架斗殴的电影 像热血高校那样的 为什么厨师炒的饭都是一粒一粒的,而我炒出来的就是黏糊糊 米粉怎样制作才好吃 都有哪些分类 忘详细解答 我是做快餐的 最好不要... 冰箱鸡蛋多怎么处理好创意菜肴 如何查询小学的期末成绩啊? 怎样快速查询小学数学期末考试成绩? 小学期末考试成绩在哪里查询? OPPOA2m如何换机 OPPOA2m没反应如何解决OPPOA2m没反应解决方法【教程】 oppoa2m参数 第五人格医生日记通关攻略介绍_第五人格医生日记通关攻略是什么_百度知 ... 氯霉素常见不良反应有哪些 双胍类药物的主要副作用 麦白霉素片不良反应 含盐50%的盐水100克,加入多少水就能得到40%的盐水 含盐百分之五十的盐水40克,加入多少克水后可变成含盐百分之十的... 2000克浓盐水中含盐50%,需加水多少克? 一杯盐水含盐率20%盐四十克加水多少克 有含盐30%的盐水50千克,要将其配置成盐45%的盐水100千克,需要加入水和...
Top