c语言求1到n所有质数和?
使用C语言求一到n所有的质数和,需要编写两个函数第一个函数用于判断某一个数是不是质数,其判断方法为从二到这个数进行循环,如果中间某一个数把它整除了,那他就不是质数返回零,否则就返回一然后再写一个函数,用于调用这个判断函数,如果它是质数,那么就累加到总和里面,最后就求到了所有的质数和
用C语言输出100之间的所有质数?
1、首先新建一个空白的c语言文件,引入头文件,头文件中包括math库,稍后会用到,建立主函数:
2、主函数上面新建一个判断素数的函数isPrime,判断依据是小于从2到算数平方根的数即是素数。然后在主函数中遍历2到100的数,调用isPrime判断满足素数条件就输出:
3、写完代码最后打开编译后的调试窗口,屏幕就会打印出100以内的所有有素数了。以上就是用C语言输出100之间的所有素数的操作:
c语言编程输出100以内的质数?
#include<stdio.h>
int main()
{
int i,j;
int count=0;
for(i=2;i<100;i++)
{
for(j=2;j<=i/2;j++)
if(i%j==0)//如果i能被j整除 就不是质数 退出循环
break;
if(j>i/2)
{
count++;
printf("%-3d",i);
if(count%5==0)//当每一行有5个数时 换行
printf("\n");
}
}
return 0;
}
for(j=2;j<=i/2;j++)中的 j<=i/2是表示 从j=2开始遍历到j=i/2 看看2~i/2中能否整除i
如果都不能 说明i是质数(也就是j>i/2)
如果有1个及以上能整除i 说明i不是质数
for()
{
}
//for循环结束之后 j的值是大于i/2的 因为for循环的条件是:j<=i/2
//因此 当j>i/2时 for循环结束
if(j>i/2)
这里当且仅当2~i/2都不能整除i时 也就是j>i/2 才说明i是质数
如何用C语言求100以内的质数?
int main()
{
int i,j;
for(i=1;i<=100;i++)
{
for(j=2;j<i;j++)
{
if((i%j)==0) break;
}
if(i==1||i==j)
printf("%d\n",i);
}
return 0;
}