用C语言编写开平方根程序的问题!

我今年开始学习C语言,前几天想编一个可以开平方根的程序,结果程序运行结果有误,找老师解决,老师给的答案是:Scanf函数出问题。下图有源程序和运行结果。他给的解决方法是用... 我今年开始学习C语言,前几天想编一个可以开平方根的程序,结果程序运行结果有误,找老师解决,老师给的答案是:Scanf函数出问题。下图有源程序和运行结果。他给的解决方法是用C++语言 cin>>a (对应的头文件是"iostream.h")替换掉源程序中的 scanf("%d",&a); 最后是可以运行了。但是,我还是想知道,到底我的程序有没有什么错误会导致输入结果出错,真的是Scanf函数出问题吗?我已经试过4台电脑了,如果不做修改,结果还是会出错。到底是为什么呢?求解!谢谢! 展开
 我来答
L_o_o_n_i_e
2011-03-18 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:4645万
展开全部
C 语言 scanf()是有格式输入,输入格式与变量类型要相配。
double 型输入和输出 要用 %lf ( 小写字母 LF, L 是 长的意思,double 是 长浮点)
scanf("%lf",&a);
printf("%lf\n",a);
b=sqrt(a);
printf(b=%lf\n",b);
%f 用于 float 变量类型.

C++ 的 cin >> a; 它自动按 变量类型 转换 输入的值。所以不会 出错。
(附带建议)C++ 头文件 最好 用 国际标准化写法
#include <iostream>
using namespace std;
不用 #include <iostream.h>写法。尽管没错。
tattackor
2015-10-28 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:772万
展开全部
在C语言中,可以使用库函数sqrt来实现开根号计算。
1 头文件:math.h
2 声明:
double sqrt(double n);
3 功能:
将参数n开平方后,得到算数平方根返回。
4 调用形式:
sqrt(100);
为计算100的平方根。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
狗熊掌KB
2011-03-18 · TA获得超过137个赞
知道答主
回答量:63
采纳率:100%
帮助的人:25.1万
展开全部
用c++写吧,我对c语言不是很了解,不过你在求的是平方根啊,就应该输出的是两个值啊,是吧?
在输入和输出的时候应该用%d吧。只是一个求平方根的问题,就是调用一个函数sqrt()在有一个头文件就可以了啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xyhsw32
2011-03-18
知道答主
回答量:4
采纳率:0%
帮助的人:2.5万
展开全部
注意:既然是开平方,scanf输入的就该是无符号型的也就是非负的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-03-17
展开全部
double 要用 %lf
float 是 %f
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式