当前位置: 代码迷 >> C语言 >> 这个程序运行的还是有问题啊!TT
  详细解决方案

这个程序运行的还是有问题啊!TT

热度:141   发布时间:2007-03-18 01:19:30.0
x,y前后格式不对
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;
}


----------------解决方案--------------------------------------------------------
  相关解决方案