1、首先打开visual C++ 60-文件-新建-文件-C++ Source File。
2、输入预处理命令和主函数:
#include<stdioh> /函数头:输入输出头文件/
void main() /空类型:主函数/
3、定义变量并使用双重循环:
int a,b,c=0; /定义变量的数据类型为整型并为c赋值/
for(a=10;a<=100;a++) /用循环使a的值增加/
{
for(b=2;b<a;b++) /用循环使a分别除以2到它本身的数/
4、判断是否是素数:
if(a%b==0) /判断a是否是素数/
break; /否,跳出内循环/
else
if(b==a-1) /是,判断a是否不能被2到它本身减1整除/
c=1; /是,给c赋1/
5、是素数的话输出素数:
if(c==1) /判断c是否等于1/
{
printf("%d\n",a); /是,输出素数并给c赋0/
c=0;
}
6、然后就完成了。
用常规的判素性方法可如下实现
#include "stdioh"
#include "mathh"
bool IsPrime(int x)
{
int i, s;
s = sqrt(x + 1);
for(i = 2; i <= s; i++)
if(x % i == 0) return false;
return true;
}
void main( )
{
int i;
for(i = 2; i < 100; i++)
if(IsPrime(i))
printf("%d ", i);
}
也可采用筛选法,筛选法效率会高一些,楼上的虽然也是筛选法,但他的效率却并不高。筛选法的思路是将那些非素数筛掉,留下那些素数。命题“对于1<x<100的合数x, 必含有小于10的质因子”可以证明是真命题,它的逆反命题“对于1<x<100的数,如果不含有小于10的质因子,则它必为素数。”则也是真命题。因此筛除时,只要筛除含有10以内的质因子的数就可以了。下面给出筛选法的代码。
#include "stdioh"
void main( )
{
bool isprime[100];
int i, j;
isprime[0] = false;
isprime[1] = false;
for(i = 2; i < 100; i++) /先初始化2~100的都是素数,然后将非素数筛除掉/
isprime[i] = true;
for(i = 2; i < 10; i++) /将所有含有小于10的质因子的数筛除掉/
{
if(isprime[i]) /如果i是素数,则将它的倍数全部筛掉/
for(j = i i; j < 100; j += i) /从ii开始检测是因为小于ii的合数都被小于i的素数筛除了/
isprime[j] = false;
}
for(i = 2; i < 100; i++)
if(isprime[i])
printf("%d ", i);
}
按照如下步骤即可用C语言判断素数:
1、首先打开visual C++ 60,然后点击左上角的文件,再点击新建。
2、然后在d出的新建对话框中点击C++Source File。
3、在新建的文件文本框中输入预处理命令和主函数,即函数头和空类型。
4、然后再定义变量并输入一个数字,即定义变量的数据类型,输出文字提示,再输入一个数字。
5、然后用for函数和if函数判断是否是素数。
6、点击确定后即可成功创建刚刚新建的程序,随机输入一个数字即可验证一下刚刚创建的C语言。
以上就是关于c语言编程,输出10~100之间的全部素数全部的内容,包括:c语言编程,输出10~100之间的全部素数、用c语言编写程序输出1-100内的素数、用C语言如何判断素数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)