C语言编程:寻找四位数的超级素数。

寻找四位数的超级素数。超级素数的定义为:若一个素数从低位到高位依次去掉一位数后仍然是素数,此数为超级素数。例如2333是素数,且233,23,2均是素数。
#include <stdio.h>
int fun(int num)
{
int i,j,f;
i=num;
f=1;
while(i!=0)
{
for(j=2;j<i;j++)
{
if(i%j!=0)
{
f=0;
break;
}
i=i/10;
if(f==0)
break;
}
}
if(f==1)
printf("%d ",num);

return(0);
}

void main()
{
int w,n;
printf("³¬¼¶ËØÊýÓУº\n");
for(n=1000;n<=9999;n++)
w=fun(n);
}
请问我哪里做错了?

第1个回答  推荐于2017-09-09
C++:
#include<iostream>
#include<cmath>
using namespace std;

bool isprime(int num)
{
int i;
for(i=2;i<sqrt(num);i++)
{
if(num%i==0)
return false;
}

return true;
}

void main()
{
int i;
for(i=1000;i<10000;i++)
{
int m=i;
if(isprime(m))//4位数是否为素数
{
m/=10;
if((m!=0)&&(isprime(m)))//3位数是否为素数
{
m/=10;
if((m!=0)&&(isprime(m)))//2位数是否为素数
{
m/=10;
if((m!=0)&&(isprime(m)))//1位数是否为素数
{
cout<<i<<' ';
}
}
}
}
}
cout<<endl;
}本回答被网友采纳
第2个回答  2015-05-10
改完可以运行了
int fun(int num);
int main()
{
int w,n;
printf("3?????êyóD£o\n");
for(n=1000;n<=9999;n++)
w=fun(n);
return 0;
}
int fun(int num)
{
int i,j,f;
i=num;
f=1;
while(i != 0){
for(j=2;j<i;j++){
if(i%j==0){
f=0;
goto out;
}
}
if(j>=i){
i /= 10;
}
}
if(f==1){
printf("%d\t",num);
}
out:
return 0;
}
第3个回答  2015-05-10
你主函数输出里面都是一堆什么乱码啊追问

printf("³¬¼¶ËØÊýÓУº\n");

这个你可以忽略