c语言if(j>=i)什么意义??

#include<stdio.h>
main()
{int i,j,counter=0;
for(i=11;i<=100;i+=2)
{for(j=2;j<=i-1;j++)
if(i%j==0)
break;
if(j>=i)
{printf("%d",i);
counter++;
if(counter%10==0)
printf("\n");
}
}
}
中if(j>=i)。i=11,j循环到10时,为什么还能输出11??
最新回答
◇丶素小乐

2024-12-01 03:19:10

if是C语言分支语句关键字,()中的表达式是分支条件,条件满足时就执行()后面的由{}括起来的复合语句或一条语句(只有一条语句时才是这种情况)。所以题面中的if(j>=i)的意思就是如果j比i大或与i相等时就执行()后面的体语句,否则跳过它后面的体语句。比如:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
    int j=3,i=5;
    if(j>=i)
        printf("abc\n");//不会输出abc,因为j>=i不成立
    j=5;
    if(j>=i)
        printf("123\n");//会输出123,因为j>=i成立
    return 0;
}
小格调

2024-12-01 13:54:04

上面这段程序的意思是输出所有从11开始到100中的奇数 i 中不能被任何小于那个奇数的数 j 整除的数,因此那个if(j>=i)表示如果你在内层循环中if(i%j==0)一直不成立的话,i就会被输出,并且计数器会加1。并且输出的格式为每10个输出一行。第二个if是在外层循环内执行的。
残存的回音

2024-12-01 07:25:17

if(j>=i)意思是如果在 j 叠加到 i时都还没有找到一个数整除 i 的,那么说明这个数 i 是素数,
因为 i = 11,第一次判断的就是11,11又是素数,所以输出
追问
传说中的逆向思维么- -!
追答
what?
我怕冷抱紧我

2024-12-01 08:39:11

j>=i 为布尔表达式,返回 true 或者 false
至于 j i 的含义要看你在程序中为其赋予了怎样的含义!!!
执手踏青

2024-12-01 10:20:12

i=11,j<=10,当j=10时 if(i%j==0)仍然不成立,既然不成立自然执行下面的语句。即判断
if(j>=i) i=11,j=10还是成立。那么自然打印

if(j>=i)什么意义??用来判断是否到你要判断数字的结尾