求解一道C语言的程序题,希望有位高手帮忙(最好带注解),讲解的越清楚越好谢谢!!

2024-12-13 06:46:24
推荐回答(2个)
回答1:

#include
#include

void main()
{

int num, sqr, n, sig, count;

count=0;
for(num=101; num<=200; num++)
{
sqr=sqrt(num);//取num的平方根的整数部分,具体记不清函数名了,在math.h里
sig=0;
for(n=2;n<=sqr;n++)
{
if(num%n==0)//如果num被n整除
{
sig=1;
break;
}
}
//看出,如果num不能被任意的n整除(即num为素数),则sig=0,否则sig=1
if( sig==0 )
{
printf("%d是一个素数\n", num);
count++;
}

}

printf("共有素数%d个", count);
}

回答2:

#include "stdio.h"
#include "math.h"

void main(void)
{
int zhi,div,count=0,num=0;
printf("101~200中的质数有:\n");
for(zhi=101;zhi<200;zhi++)
{
count=0;
for(div=1;div<=sqrt(zhi);div++)
if(zhi%div==0)
count++;
if(count==1)
{
printf("%d,",zhi);
num++;
}

}
printf("\n一共有%d个",num);
}