C++ flag用法

2024-11-22 07:51:51
推荐回答(5个)
回答1:

flag一般作为标记
如求素数,标记能够被其他数整除的为合数,不能的则为质数
#include
#include
using namespace std;

int fun(int n)
{
int flag;
int k = (int)sqrt(n);
for(int i = 2; i <= k; i++)
{
flag = 1;
if(n % i == 0)
{
flag = 0;
break;
}
}
return flag;
}

int main()
{
for(int i = 2; i < 1000; i++)
{
if(fun(i))
{
cout< int m;
m++;
if(m % 10 == 0)
cout< }
else
continue;
}
return 0;
}

回答2:

if (prime(n))这里的prime(n)返回值如果不是0则执行if内的语句,是0则执行else语句。而prime(n)需要到子函数中判断,也就是说看return 返回什么结果

此题中只有是质数的才会返回1,才会执行if

回答3:

0为假,非0为真
程序写错了
这里的flag是一个标志,根据在prime()里的if循环,如果n是素数,那么就flag=0,那么就是说n是素数,就返回flag=0
但你在主函数里写的是if (prime(n)) 此时返回值为0,就不执行,而是执行了else,输出的是n不是素数

回答4:

这是由数据个数相同的两列数据构成的数组问题,可以利用数组特性进行计算。
假设C列数据区域为C2:C100,L列数据为L2:L100。
编辑公式为
=SUM((C2:C100=1)*L2:L100)
按组合键 Ctrl+Shift+Enter确认。

也可以用条件求和函数SUMIF()。具体使用详见函数帮助。

注意:
当C列中相等的数据不是连续区域时,IF函数无法执行求和

回答5:

0为假,非0为真。