我用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));}
} 展开
#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));}
} 展开
2个回答
展开全部
double型的数据输入必须用格式符"%lf",输出时可以用"%lf",也可以用%f。
printf("f(%.2f)=%.2\n",x,sqrt(x));这一句中少了个f,应为%.2f。
printf("f(%.2f)=%.2\n",x,sqrt(x));这一句中少了个f,应为%.2f。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/*
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));
}
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"。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询