程序必须决定正、负或零

Program must decide positive, negative, or zero

本文关键字:决定 程序      更新时间:2023-10-16

我需要设计一个程序,当用户使用名为numtest的函数名输入数字时,该程序必须显示正、负或零。当我输入数字0时,它仍然显示为数字负数。有人能帮我吗。非常感谢。

#include <iostream>
using namespace std;

float numtest(float a, float b, float c)
{
    if(a>1)
    return a;
    if(b<1)
    return b;
    if(c=0)
    return c;
}
int main()
{
    float num;
    cout<<"Please enter number";
    cin>>num;
    if(num>1)
    cout<<"number is positive";
    if(num<1)
    cout<<"number is negative";
    if(num=0)
    cout<<"number is zero";
    return 0;
}

首先,在检查相等性时,必须使用==而不是==符号将R.H.S.分配给L.H.S.。例如,c=0c中的值更改为0,因此应改为if(c==0)

现在,如果要检查正数,条件应该是if(num>0),而对于负数,条件应该为if(num<0)

最后,尝试使用else ifelse,而不是三个ifs

当您想要进行相等比较时,似乎已经解决了将0分配给num的老问题。

if(num == 0){ ... } 

另外,想想当您输入0.5或-0.5时会发生什么。在你的问题中,你提到使用函数(numtest)来做一些事情,但你甚至没有在主函数

中调用它

我相信如果您将参数更改为:,您的问题就会得到解决

if(a>0)

if(a==)

if a<0)

因为它们是你现在设置的方式,所以你没有考虑到0和1之间的无限数量的数字(.10、0000005等)。我们想用"=="符号来表示相等。

希望能有所帮助!

您的程序没有使用numtest()函数,并且使用了不需要的变量,对于测试编号是+ve或-ve,您应该使用

对于阳性:如果是浮动if(num>=0.001) ,则为if(num>0)if(num>=1)

对于负极:如果是浮动if(num>=-0.01) ,则为if(num<0)if(num<=-1)

对于零:if(num==0)

尝试以下程序:

#include <iostream>
#include<conio.h>

void numtest(float num)
{
if(num>0)
cout<<"number is positive";
if(num<0)
cout<<"number is negative";
if(num==0)
cout<<"number is zero";
}
void main()
{
float n;
cout<<"Please enter number";
cin>>n;
numtest(n);
getch();
}