用c语言求1000以内的回文素数,程序哪错了??运行不出结果。。

#include <stdio.h>
#include<stdlib.h>
void main()
{int i,a,b,c,g;
int grate(int s);
for(i=1;i<1000;i++)
{a=i%10;
b=(i/10)%10;
c=i/100;
g=grate(i);
if(g==1&&i==a*100+b*10+c)
{printf("回文素数为%d\n",i);}
else
continue;
}
}
int grate(int s)
{int j;
int flag=1;
for(j=1;j<s/2;j++)
{if(s%j==0)
{flag=0;
break;}
}
return flag;
}

#include <stdio.h>
#include<stdlib.h>
int main()
{
int i,a,b,c,g;
int grate(int s);
for(i=1;i<1000;i++)
{
for(a=i,b=0;a;a/=10)
{
b=b*10+a%10;
}
g=grate(i);
if(g==1&&i==b)
{
printf("回文素数为%d\n",i);
}
}
return 0;
}
int grate(int s)
{
int j;
int flag=1;
if(s<2)
{
return 0;
}
for(j=2;j<=s/2;j++)
{
if(s%j==0)
{
flag=0;
break;
}
}
return flag;
}

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网