我用C语言写了个程序 不知道为什么当输入整数的时候没结果 输入负数的时候 可以算出结果

#include<stdio.h>#include<math.h>voidmain(){doublex;printf("Enterx:\n");scanf("%lf",&... #include<stdio.h>
#include<math.h>
void main()
{
double x;

printf("Enter x:\n");
scanf("%lf",&x);
if(x<0){

printf("f(%.2f)=%.2f\n",x,pow((x+1),2)+2*x+1/x);}
else {

printf("f(%.2f)=%.2\n",x,sqrt(x));}
}
展开
 我来答
巨之说
2012-03-17 · 大学计算机老师,专注于程序设计教学。
巨之说
采纳数:88 获赞数:335

向TA提问 私信TA
展开全部
double型的数据输入必须用格式符"%lf",输出时可以用"%lf",也可以用%f。
printf("f(%.2f)=%.2\n",x,sqrt(x));这一句中少了个f,应为%.2f。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xoalyg
2012-03-17 · TA获得超过4178个赞
知道大有可为答主
回答量:2356
采纳率:100%
帮助的人:2393万
展开全部
/*
Enter x : 12
f(12.00) = 3.46
Press any key to continue
*/
#include<stdio.h>
#include<math.h>
void main() {
double x;
printf("Enter x : ");
scanf("%lf",&x);
if(x < 0) printf("f(%.2lf) = %.2lf\n",x,pow((x + 1),2) + 2 * x + 1/x);
else printf("f(%.2lf) = %.2lf\n",x,sqrt(x));
}
更多追问追答
追问
为什么你的可以得结果  我的不可以呢?
追答
double类型的数据输入、输出格式是"%lf",你的代码中错用成了"%f"。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式