葛成功之路 2019-11-24 22:40 采纳率: 87.5%
浏览 142
已采纳

请问一下这个绝对素数的代码编译错误是由于什么原因?

#include
#include
int prime(unsigned int);
unsigned int rev(unsigned int);
int main()
{
unsigned int n,m;
scanf("%u",&n);
if(prime(n)!=0)
m=rev(n);
else
{
printf("no\n");
return 0;
}
{
if(prime(m)!=0)
printf("yes\n");
else
printf("no\n");
return 0;
}
int prime(unsigned int x)
{
int i,k;
k=sqrt(x);
for(i=2;i<=k;i++)
{
if(x%i==0)
return 0;
else if(i>k)
return 1;
}
}
unsigned int rev(unsigned int y)
{
unsigned int z=0;
while(y!=0)
{
z=z*10+y%10;
y=y/10;
}
return z;
}
}

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-11-25 10:55
    关注
    #include<stdio.h> 
    #include<math.h>
    int prime(unsigned int);
    unsigned int rev(unsigned int);
    int main()
    {
        unsigned int n,m;
        scanf("%u",&n);
        if(prime(n)!=0)
            m=rev(n);
        else
        {
            printf("no\n");
            return 0;
        }
        if(prime(m)!=0)
            printf("yes\n");
        else
            printf("no\n");
        return 0;
    }
    int prime(unsigned int x)
    {
        int i,k;
        k=sqrt((double)x); 
        for(i=2;i<=k;i++)
        {
            if(x%i==0)
                return 0;
        }
        return 1;
    }
    
    unsigned int rev(unsigned int y)
    {
        unsigned int z=0;
        while(y!=0)
        {
            z=z*10+y%10;
            y=y/10;
        }
        return z;
    }
    

    以后提问把原始题目也贴出来

    还有,代码要缩进正确,才好阅读。这次帮你都调整了,下次自己要注意

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置