注册 登录
编程论坛 C语言论坛

为什么运行不出来啊,它提示第十排的f有问题,问题在哪啊

他不是恶魔 发布于 2022-12-14 19:19, 1209 次点击
#include <stdio.h>
int main()
{
   
    for(int i=100;i<=200;i++){int f=1;
   
    for(int j=2;j<i;j++){
        if(i%j==0)f=0;break;}
    }
    if(f)
    printf("有以下质数:%d ",i);
}
4 回复
#2
吹水佬2022-12-14 19:41
先理循环层次结构
#3
追梦人zmrghy2022-12-14 22:53
刚开始学,一定要注意书写规范,这几行代码,就把我看晕了。

真的没看懂,按自己想法。把你代码修改了一下。。。
是这个意思吗。。。
只有本站会员才能查看附件,请 登录



程序代码:
#include <stdio.h>
int main()
{

    for(int i=100;i<=200;i++)
    {
        printf("%d有以下质数: ",i);
        for(int j=1;j<i;j++)
        {
            bool f =1;
            for(int k =2; k<j; k++)
            {
                if(j%k ==0)
                    f=0;
            }
            if(f)
                printf("%d ",j);
        }
        printf("\n");
    }
}



如果是这个意思,就是少了一层循环。


[此贴子已经被作者于2022-12-14 23:50编辑过]

#4
rjsp2022-12-15 15:44
为什么不肯把代码写写整齐?
我难以理解你把代码写成一团浆糊的目的,是为了恶心别人,还是估计让自己看懵?

程序代码:
#include <stdio.h>

int main( void )
{
    const unsigned range_L = 100;
    const unsigned range_R = 200;

    printf( "正整数区间[%u,%u]内有以下质数: \n", range_L, range_R );
    for( unsigned i=range_L; i<=range_R; ++i )
    {
        int f = 1;
        for( unsigned j=2; j<=i/j; ++j )
        {
            if( i%j == 0 )
            {
                f = 0;
                break;
            }
        }
        if( f )
            printf( "%u\n", i );
    }
}


输出
程序代码:
正整数区间[100,200]内有以下质数:
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
#5
追梦人zmrghy2022-12-15 23:45
只有本站会员才能查看附件,请 登录


16行代码,写成了23行。还是你水平高。。。。。
一共21个数,还每个数换行,你为什么不为什么不每个字符就换行呀。。。。

[此贴子已经被作者于2022-12-15 23:49编辑过]

1