求救:关于C语言的编程问题.

来源:百度知道 编辑:UC知道 时间:2024/05/22 17:18:44
有一道C语言的题目想了好久,都做不出来,请大家来帮帮忙.题目如下:
找出不超过1000的回文素数.
如11,101,131,929等.
回文是指这个数从左到右和从右到左读的值相同的数.

main()
{
int a,b,i,n,k,c,j=0;
int s[1000];
a=0;b=1000;

for (i=a;i<=b;i++)
{
for(k=1;k<=i;k++)
{
if (i%k==0 && k!=1 && i!=k ) c=0;

}
if(i!=1)
if (c!=0) {s[j]=i;j++;}
c=1;
}
for (i=0;i<j;i++)
{
if(s[i]>=0&&s[i]<10)
{
printf("%d\t",s[i]);
}

else if(s[i]>=10&&s[i]<100)
{
a=s[i]/10;
b=s[i]%10;
b=b%10;
if(a==b) printf("%d\t",s[i]);
}

else if(s[i]>=100&&s[i]<1000)
{
a=s[i]/100;
b=s[i]%100;
b=b%10;
if(a==b) printf("%d\t",s[i]);
}
}
}

结果:
2 3 5 7 11 101 131 151 181 191
313 353 373 383 727 757 787 797 919 929

main()
{
int i,j,a,b,c,k,l;
for(i=1;i<=9;i++)
{a=i;c=i