C++ 布尔函数。调用它并使用True或false

C++ 布尔函数。调用它并使用True或false,c++,function,boolean,C++,Function,Boolean,我需要这个函数的帮助,对于只被两个数字(1和数字本身)分隔的数字是正确的。这是一个测试函数。因此,用户得到了用户的3个数字,如果它们“只差两个”,则必须写入。我真的不知道如何调用该函数,以便用户可以用“是”或“否”来回答 bool-test\u-prastevil(int-prastevilo){ int c=0; 对于(inti=1;iEDIT:可以删除帖子的这一部分。) /*------------------------------------------------ 例如,函数可以用以下

我需要这个函数的帮助,对于只被两个数字(1和数字本身)分隔的数字是正确的。这是一个测试函数。因此,用户得到了用户的3个数字,如果它们“只差两个”,则必须写入。我真的不知道如何调用该函数,以便用户可以用“是”或“否”来回答

bool-test\u-prastevil(int-prastevilo){
int c=0;

对于(inti=1;iEDIT:可以删除帖子的这一部分。)

/*------------------------------------------------

例如,函数可以用以下方式编写:我假设1(或-1)满足条件

bool test_prastevil(int prastevilo)
{
    unsigned int value = std::abs( prastevilo );

    unsigned int x = 1; 
    while ( x * x < value && value % x != 0 ) x++;

    return value != 0 && x * x == value;
}  
bool-test\u-prastevil(int-prastevilo)
{
无符号int值=std::abs(prastevilo);
无符号整数x=1;
而(x*x
------------------------------------------------*/

如果您需要一个函数来确定一个数字是否为prome(不包括1),那么您可以编写

bool test_prastevil( int prastevilo )
{
    unsigned int x = std::abs( prastevilo );

    bool prime = ( x == 2 ) || ( x % 2 != 0 && x != 1 );

    for ( unsigned int i = 3; prime && i * i <= x; i += 2 )
    {
        prime = x % i != 0;
    }

    return prime;
}
bool-test\u-prastevil(int-prastevilo)
{
无符号整数x=std::abs(prastevilo);
布尔素数=(x==2)| |(x%2!=0&&x!=1);

对于(unsigned int i=3;prime&&i*i BTW,
if(c==2){return true;}或者{return false;}
过于复杂。您可以使用
return c==2;
来代替。您需要函数方面的帮助还是用户输入方面的帮助?我需要用户输入方面的帮助。因此,如果他输入“是”并且数字7为“真”,他将得到1分(假设n++)。但我不知道该怎么做。很抱歉,这篇文章措辞不好。我已经让他可以写“0”=false,“1”表示true。但我希望用户能够逐字输入。“对于仅由两个数字(1和数字本身)分隔的数字,这是真的。”--这些都被调用了。你可以用
返回(c==2);
.Yo替换最后的
if
语句;
.Yo。这就是我的函数已经做的。我希望用户得到一个数字,比如说“7”,如果这个数字只被两个数字分开,他就有机会说“是”或“否”。我这样做了,程序允许他写“0”表示false和“1”是真的,但我希望他能用文字表达出来。!@user3617642 in clude header and use std::cout让我在这里发布说明,因为我不确定我是否不明白你想告诉我什么,或者反过来说:s,对不起。”如果一个数是素数,给定整数的第一个函数返回逻辑值(测试它的除数)。确保负数、0和1没有标记为素数。”“在主程序中,用户会看到一个随机数的三倍,然后每次输入一个答案,如果一个数字是素数。”这就是问题所在,main程序。@user3617642 main有什么问题?输入三个不同的数字,然后用每个数字作为参数调用函数。所以他得到的是一个随机数7。如果这个数字是或不是素数,他必须写。他写是,get的1点,他写“否”,get的0点。我不知道怎么写“是=正确”和“否=错误”
bool test_prastevil( int prastevilo )
{
    unsigned int x = std::abs( prastevilo );

    bool prime = ( x == 2 ) || ( x % 2 != 0 && x != 1 );

    for ( unsigned int i = 3; prime && i * i <= x; i += 2 )
    {
        prime = x % i != 0;
    }

    return prime;
}