编写C语言程序,求100~200之间所有素数。

作为一名对C语言的初学者,想多编一些程序,但遇到这个问题了,目前学了while、do-while、for循环语句。望能指点迷津,谢谢。

第1个回答  2011-11-10
#include <stdio.h>
#include <time.h>
#include <math.h>

int primer_number(int lower, int upper)
{
int i = 0;
int j = 0;
int flag = 0;
int count = 0;

for (i=lower; i<=upper; i++)
{
flag = 0;
for (j=2; j<=sqrt(i); j++)
if (i%j == 0)
{
flag = 1;
break;
}
if (flag == 0)
count++;
}
return count;
}

int main(void)
{
int lower = 100;
int upper = 200;

printf("Sum = %d\n", primer_number(lower, upper));
return 0;
}
第2个回答  2020-05-14
素数就是只能被1和本身整除的数,先定义一个函数用于判断一个数是否是素数,在从100到200依次循环判断,如果是素数则输出。
参考代码:
#include<stdio.h>
int fun(int n){//判断n是否是素数
int i;
for(i=2;i<n;i++)
if(n%i==0) return 0;
return 1;
}
int main()
{
int i;
for(i=100;i<=200;i++)//循环判断

if(fun(i))
printf("%d ",i);
return 0;
}
/*
运行结果:
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
*/