程序检查点是否位于x轴,y轴或原点

时间:2017-08-11 11:14:21

标签: c

我刚开始学习c编程。

对于这个问题,我写了下面的代码。你能帮我找到错误吗?我没有得到理想的结果,并且最后的其他语句总是被执行。

#include<stdio.h>
#include<conio.h>

void dummy(float *a) 
{
  float b=*a; //perform some floating access
  dummy (&b); //calling a floating point function
}

void main()
{
  double x,y;

  clrscr();

  scanf("%lf %lf",x,y);

  if(x==0 && y!=0)
  { 
    printf("The point lies on the y-axis.");
  }
  else if(y==0 && x!=0 )
  { 
    printf("The point lies on the x-axis.");
  }
  else if(x==0 && y==0)
  { 
    printf("The point is the origin");
  }
  else
  {
    printf("The point lies neither on the x nor the y axis ");
  }
  getch();
}

4 个答案:

答案 0 :(得分:2)

在使用scanf从键盘读取值时,您需要在变量前面添加&

而不是

scanf("%lf %lf",x,y);

使用

scanf("%lf %lf",&x,&y);

<强>更新

您不必每次都检查yx

if(x==0 && y!=0)只使用一个,if(x==0)if(y==0)尝试:

void main()
{
   double x,y;
   clrscr();

   scanf("%lf %lf",&x,&y);

   if(x==0 && y==0)
   { 
       printf("points lies on origin.");
   }
   else if(y==0)
   { 
       printf("points lies on y-axis.");
   }
   else if(x==0)
   { 
       printf("points lies on x-axis");
   }
   else
   {
       printf("The point lies neither on the x nor the y axis ");
   }
   getch();
}

答案 1 :(得分:1)

要检查是否使用宏或功能

#define FEQUAL(x,y,err)            (fabs((x) - (y)) < (err))

答案 2 :(得分:1)

对clrscr()函数的未定义引用。因此,您可以尝试从代码中删除clrscr()函数。

#include<stdio.h>
#include<conio.h>

void dummy(float *a)
{
  float b=*a; //perform some floating access
  dummy (&b); //calling a floating point function
}

void main()
{
  double x,y;
  scanf("%lf %lf",&x,&y);

  if(x==0 && y!=0)
 {
    printf("The point lies on the y-axis.");
 }
  else if(y==0 && x!=0 )
 {
    printf("The point lies on the x-axis.");
 }
  else if(x==0 && y==0)
 {
    printf("The point is the origin");
 }
  else
 {
    printf("The point lies neither on the x nor the y axis ");
 }
    getch();
 }

它将起作用。

答案 3 :(得分:1)

一个简单的解决方案可能是

#include <stdio.h>

int main()
{

    int x,y;
    printf("Enter the point ");
    scanf("%d,%d",&x,&y);
    if (y==0)
    {
        if (x==0)
        {
            printf("\nPonit lies on the origin\n");
        }
        else
            printf("\nPoint lies on X-axis\n");
    }
    else if (x==0)
    {
        if (y==0)
        {
            printf("\nPoint lies on the origin\n");
        }
        else
            printf("\nPoint lies on the Y-axis\n");
    }
    else
        printf("\nPoint lies in X-Y coordinate\n");
    return 0;
}