c语言如何判断一个数组全大于0?

不知道几个数,如果全大于0则输出Not found!
2025-03-09 22:25:13
推荐回答(4个)
回答1:

先求整型数组长度,在定义一个标识,在遍历数组时发现有小于0就改变这个标识的值,遍历完了之后再判断,如果只没有改变,就证明数组里面的数都大于0,
写程序要先有思路,不要一来去敲代码,先把思路理清之后,剩下的就是把你的思路翻译成C语言了。

回答2:

关键代码:


for(int i=0;i{
//反过来思考,找小于等于0的数 ,直接跳出循环,因为已经 不全是大于0 
   if(a[i]<=0)
   {
      flag=true;
      break;//跳出循环 
  }
}
if(flag) 
{
    printf("Not found!\n");
}

回答3:

使用memcmp进行比较
int memcmp(
const void *buf1,
const void *buf2,
size_t count
);

Parameters

buf1

First buffer.

buf2

Second buffer.

count

Number of characters (bytes for memcmp, wide characters for wmemcmp).
Return Value

The return value indicates the relationship between the buffers.

Return value

Relationship of first count bytes of buf1 and buf2

< 0

buf1 less than buf2

0

buf1 identical to buf2

> 0

buf1 greater than buf2

回答4:

数组假设为 int a[];
bool ok=true;
for(int i=0;i {
if(a[i]<0)
ok=false;
}
if(ok)
puts("Not found!");