C语言求圆的面积
#include<stdio.h>main(){intr,s;printf("pleaseinputvaluer\n");scanf("%f",&r);s=3.14*r*...
#include<stdio.h>
main()
{
int r,s;
printf("please input value r\n");
scanf("%f",&r);
s=3.14*r*r;
printf("圆的面积%f\n",s);
}
请问我写的程序哪里错了?求大神指导! 展开
main()
{
int r,s;
printf("please input value r\n");
scanf("%f",&r);
s=3.14*r*r;
printf("圆的面积%f\n",s);
}
请问我写的程序哪里错了?求大神指导! 展开
5个回答
展开全部
#include<stdio.h>
main()
{
int r,s;//把int改为float
printf("please input value r\n");
scanf("%f",&r);
s=3.14*r*r;
printf("圆的面积%f\n",s);
}
更多追问追答
追问
为什么?
追答
数据类型不一样会出错啊,
int 和 float 在内存中的存储方式都不一样,
那这个题来说
如果你执意要将r定义为int型,那么scanf里面就得把%f改为%d,这是你就只能输入整数的r,不能输入小数,然后你求出的s可能有小数,但是你定义的s为int型,所以s会自动将得到的值的小数部分抛弃掉,这叫丢失精度。
综合到大的方面,所以最好把r和s都定义为float或者double类型。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
%f是float类型数据,int r,s;你的定义有误必须float r,s;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int r,s; --> float r, s;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询