为什么不行 #include<stdio.h> #include<math.h> int main

为什么不行#include<stdio.h>#include<math.h>intmain(){intt,x,y;floatr;printf("输入1回车进行加法运算\n... 为什么不行
#include<stdio.h>
#include<math.h>
int main()
{

int t, x, y;
float r;
printf("输入1 回车 进行加法运算\n输入2 回车 进行乘法运算\n输入3 回车 进行减法运算 \n输入4 回车 进行除法运算\n输入5 回车 进行幂法运算\n");
scanf("%d\n ", &t);
switch (t)
{
case 1:
{
printf("请输入运算值 格式 x,y 点击回车运行");
scanf("%f,%f", &x, &y);

r = x + y;
}
break;
case 2:
{
printf("请输入运算值 格式 x,y 点击回车运行");
scanf("%f,%f", &x, &y);
r = x * y;
}
break;

case 3:
{
printf("请输入运算值 格式 x,y 点击回车运行");
scanf("%f,%f", &x, &y);
r = x - y;
}
break;
case 4:
{
printf("请输入运算值 格式 x,y 点击回车运行");
scanf("%f,&f", &x, &y);
r = x / y;
}
break;

case 5:
{
printf("请输入运算值 格式 x,y 点击回车运行");
scanf("%f,&f", &x, &y);
r = pow(x, y);
}
break;

}
printf("%f", r);
return 0;}
展开
 我来答
mlper_
2016-05-01 · TA获得超过8017个赞
知道大有可为答主
回答量:4863
采纳率:78%
帮助的人:1203万
展开全部
首先,x,y的类型应该定义成float型,否则会导致数据丢失
其次,case4和case5中的scanf函数格式有误,不是scanf("%f,&f", &x, &y); 应该改成scanf("%f,%f", &x, &y);

最后,最好在scanf("%d\n ", &t);后面加一句getch()用来吸收敲入的回车符,以免后面的scanf函数误把回车符当作数值接收
更多追问追答
追问
scanf不是不接受回车的吗
追答
scanf实际上是将键盘缓冲区的字符依次赋值给相应变量,如果敲入的字符数少于应赋值的变量,那么scanf会自动把回车符赋值给下一个变量
TableDI
2024-07-18 广告
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配... 点击进入详情页
本回答由TableDI提供
漆暮昀01Y
2016-05-01 · TA获得超过1398个赞
知道大有可为答主
回答量:2026
采纳率:77%
帮助的人:388万
展开全部
scanf("%d,%d", &x, &y);
追问
改了也不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式