scanf()和printf()里应该是%lf
----------------解决方案--------------------------------------------------------
printf("y=%d",y);
%d是整型
要改成%lf
[此贴子已经被作者于2007-3-18 1:22:26编辑过]
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
int main()
{
double x,y;
printf("Enter x:");
scanf("%lf",&x);
if(0<x<1)
y=exp(sqrt(x))-1;
else if(x>=3&&x<=4)
y=fabs(x)+2;
else
y=sin(x*x);
printf("y=%lf\n",y);
getch();
}
这样的结果就对了(我的编译器是gcc)
下边的是VC的代码:
#include<stdio.h>
#include<math.h>
void main()
{
double x,y;
printf("Enter x:");
scanf("%lf",&x);
if(0<x<1)
y=exp(sqrt(x))-1;
else if(x>=3&&x<=4)
y=fabs(x)+2;
else
y=sin(x*x);
printf("y=%lf\n",y);
}
----------------解决方案--------------------------------------------------------
着程序很简单的
----------------解决方案--------------------------------------------------------
回复:(One2Free)这个程序运行的还是有问题啊!TT
if(0<x<1)不对 不支持 < < 格式
----------------解决方案--------------------------------------------------------
我给你弄了一下:
#include<stdio.h>
#include<math.h>
void main()
{
double x,y;
printf("Enter the number(x):");
scanf("%lf",&x);
if((0<x)&&(x<1))
y=exp(sqrt(x))-1;
else if((x>=3)&&(x<=4))
y=fabs(x)+2;
else
y=sin(x*x);
printf("y=%lf\n",y);
}
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
void main()
{
double x,y;
printf("Enter x:");
scanf("%d",&x);
if((0<x)&&(x<1))
y=exp(sqrt(x))-1;
else if((x>=3)&&(x<=4))
y=fabs(x)+2;
else
y=sin(x*x);
printf("y=%d",y);
}
这个没错拉
----------------解决方案--------------------------------------------------------
C是不允许这样的:
3<x<4
应为:
3<x&&x<4
以前我也犯这种错误
----------------解决方案--------------------------------------------------------
可以这样写:3<x<4,但没有意义。
#include<stdio.h>
#include<conio.h>
int main()
{
int x=9;
x=(0<x<4);
printf("%d",x);
getch();
return 0;
}
----------------解决方案--------------------------------------------------------