鱼C论坛

 找回密码
 立即注册
查看: 1579|回复: 3

[已解决]求n为多少时,an不在是素数。为什么运行不出来结果?

[复制链接]
发表于 2020-12-2 10:50:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
int main()
{
        int prime(int m);
        int n,x,an;
       
        for(n=0;x==0;n++);
                {
                        an=n*n+n+41;
                        while(prime(an)==0)
                                {
                                        printf("%d,%d",an,n);
                                        x=0;
                                }
                }
        return 0;
}


int prime(int m)
{
        int i;
        for(i=2;i<m/2;i++)
                if(m%i==0)return(0);
        return(1);
       
}
最佳答案
2020-12-2 12:01:02
存在几个错误:
1)for(n=0;x==0;n++); 这句不应该有;符号结尾。
2)对于变量x,没赋初值,先假设编译系统给了0,然后for里的判断结束条件 x==0,while里改变的有 x=0; 这个x一直就是0没起到作用,应给个初值=1。
3) 这是个死循环,因为while里的条件一旦达成后不会变化, while(prime(an)==0)
                                {
                                        printf("%d,%d",an,n);
                                        x=0;
                                } 应该改成 if,然后{}里加break;

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-2 11:41:33 From FishC Mobile | 显示全部楼层
不知道,手上没电脑,无法调试。但你程序的逻辑肯定错了,prime(an)!=0才是你需要的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-12-2 12:01:02 | 显示全部楼层    本楼为最佳答案   
存在几个错误:
1)for(n=0;x==0;n++); 这句不应该有;符号结尾。
2)对于变量x,没赋初值,先假设编译系统给了0,然后for里的判断结束条件 x==0,while里改变的有 x=0; 这个x一直就是0没起到作用,应给个初值=1。
3) 这是个死循环,因为while里的条件一旦达成后不会变化, while(prime(an)==0)
                                {
                                        printf("%d,%d",an,n);
                                        x=0;
                                } 应该改成 if,然后{}里加break;

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-12-2 23:42:47 | 显示全部楼层
iqy2020 发表于 2020-12-2 12:01
存在几个错误:
1)for(n=0;x==0;n++); 这句不应该有;符号结尾。
2)对于变量x,没赋初值,先假设编译系 ...

好的,搞好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-10 17:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表