发布网友
共6个回答
热心网友
#include<stdio.h>
void main()
{
double x,y;
printf("请输入x的值:\n");
scanf("%lf",&x);
if(x>=0)
y=3*x+6;
else
y=-x*x+2*x-8;
printf("y=%.2lf\n",y);
}
/*可以用了。double是按双精度输入输出。一般使用%lf进行格式控制,可以理解成longfloat。float对应的是%f,double对应的是%lf,这样用。二者输入的时候采取的格式不一样,内存中就有很大的不同。就好比float你用%d存一样。还是应该对应着来。但是平常的作业中double不经常用,一般float就可以满足要求了。*/
热心网友
你输入的值X是多少? 有没有超过范围?
热心网友
double类型的数据在读入和输出语句中的格式是“%lf”,而"%f"仅用于float类型。
热心网友
double类型输出语句中的格式是为“%lf”,而"%f"仅用于float类型,你少了一个“l”
热心网友
你把第二个%f换成%lf试试
热心网友
输入输出不能用%f。