C语言程序设计(循环控制用while ,do-while,for语句

2024-11-26 16:35:33
推荐回答(1个)
回答1:

你看这个应该满足要求吧。我把三种循环方式都用上了:
#include
#include

int isprime(int n)
{
int i,t;
if(n==2)
return 1;
if(n%2==0 || n<2)
return 0;
for(i=3,t=(int)sqrt(n);i<=t;i+=2)
{
if(n%i==0)
return 0;
}
return 1;
}

void main()
{
int i,a,n;

i=0;
do
{
printf("Input an integer (>=1):");
scanf("%d",&a);
if(a>=1)
break;
}while(++i<3);

if(i==3) exit(0);

printf("prime submultiples:\n");

i=1;
n=0;
while(i<=a)
{
if(a%i==0)
if(isprime(i))
{
printf("%d ",i);
n++;
if(n%10==0)
printf("\n");
}
i++;
}
printf("\nnumbers of prime submultiples:%d\n",n);
}