① c语言编程,求500以内的全部素数,每行输出10个。可以提高悬赏哦!
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
inlineboolIsPrimeNumbers(intn){
if(n<2)returnfalse;//1既不是合数又不是质数(素数),所以排除,2是最小质数
//对n开方,目的在于减少循环次数,原理:因数在根的前面都没有,则后面肯定不会有
intk=(int)sqrt((double)n);
for(inti=2;i<=k;i++)
{
if(n%i==0)returnfalse;
}
returntrue;
}
intmain(){
intcount=0;//计数器,记录每行输出了多少个
for(inti=2;i<=500;i++)
{
if(IsPrimeNumbers(i)){
printf("%d",i);
count++;
if(count%10==0)printf(" ");//取模每10个换行
}
}
printf(" ");
system("pause");//屏幕暂停
return1;
}
② C语言编程:求五百以内所有的素数
int sushu[100]; //保存素数int scount=0;  //素数的数量int  GetSS(int Max)  //完成查找素数的过程{   int m;   if(Max<2) scount=0;   else    {   scount=1;   sushu[0]=2;  }  m=2+1;  while(m<=Max)   {    int i;    for(i=0;i<scount;i++)    {      if(m%sushu[i]==0) break;    }    if(i==scount)     {        sushu[scount++]=m;    }    m++;    }  return scount;}
int sc=GetSS(500);
③ c语言中的素数编程题:计算500-800区间内素数个数,并按从大到小的顺序进行加减间隔计算求和。
#include<stdio.h>
//计算500-800区间内素数个数,并按从大到小的顺序进行加减间隔计算求和。
intmain()
{
intcnt=0,sum=0,i,j,t=-1;
for(i=17;i>=2;i--)
{
for(j=2;j<=i/2;j++)
{
if(i%j==0)break;//在i/2前只要遇到一个能除尽的数则跳出本层for循环,则j的值一定小于等于i/2
}
if(j>i/2)//i/2前的每个数都除过一遍且不能除尽(即for循环自然结束)则判断j为素数
{
t=-t;
sum=i*t+sum;
cnt++;
}
}
printf("%d%d",cnt,sum);
return0;
}
判断条件的位置放错了,详见注释,上边的代码是修改后的。
这里按照原程序的计算方式,为先减后加的顺序,如2到13间的素数和为:
13-11+7-5+3-2
④ 写了一个c语言程序(统计500以内最大10个素数并求和)哪里不对 初学求指教
你好,我为你解答:
我学过C++,已经拿到了国家级三级证。
这个可以这么写
#include <stdio.h>
#include <math.h>
int prime(int n)
{
 int i;
 for(i=2;i<=sqrt(n);i++)
  if(n%i==0)
   break;
 if(i>sqrt(n))
  return 1;
 else
  return 0;
}
main()
{
 int n,count=0,sum=0;
 for(n=500;count!=10;n--)
  if(prime(n))
  {
   printf("%d ",n);
   sum+=n;
   count++;
  }
 printf("\nThe sum is %d.\n",sum);
}
懂了吗?不懂请追问。
满意请采纳,谢谢。
⑤ C语言:计算500以内的素数合(看不懂这个,求解!)
#include<stdio.h> isprime(int n) { for (int i = 3; i < n / 2; i++) if (!(n%i)) return 0; return 1; } main() { int sum = 2; for (int i = 3; i < 1000; i +=2) if (isprime(i)) sum += i; printf("sum = %d\n", sum); }
⑥ c语言求300-500以内素数之和
#include<stdio.h>
intisprime(intx)
{
inti;
for(i=2;i*i<=x;i++)
if(x%i==0)
return0;
return1;
}
intmain()
{
inti,sum=0;
for(i=300;i<=500;i++)
{
if(isprime(i))
sum+=i;
}
printf("%d ",sum);
return0;
}
⑦ 输出500到600之间所有素数,并求和,c语言
#include<stdio.h>
intmain()
{
inta[101],i,j,b[101],sum=0;
for(i=0;i<101;i++)//建立两个相同的数组1到100
{
a[i]=i+500;
b[i]=i+500;
}
for(i=0;i<101;i++)//如果a中的元素是素数,那么b中相应序号的元素的值将会变为0
{
for(j=2;j<a[i];j++)
{
if(a[i]%j==0)
b[i]=0;
}
}
for(i=0;i<100;i++)
{
if(b[i]!=0)//判断b中的元素是否等于0,不等于的时候输出a中序号相同的元素值
{
printf("%d ",a[i]);//输出素数
sum+=a[i];//将判断出来的素数相加
}
}
printf("sum=%d ",sum);
return0;
}
⑧ 如何用c语言编写程序输出500以内最大的10个素数及其之和
- 算法简单,直接从500到1循环,判断每个数是否为素数,如果是素数,输出,并累加,一直判断出10个素数,终止循环,输出累加总数。 
- 例程: - #include<stdio.h> 
 intmain(){
 intprime;
 intprime_pti[100];
 intprime_z=0;
 inti,n,p=0;
 inta,b;
 intstep=0;
 for(prime=i=1;i<=500;i++)/*找出500内的所有素数*/
 {
 for(n=2;(n*n)<=i;n++)/*判断一个数是否是素数*/
 {
 if(i%n==0)
 {
 prime=0;
 break;
 }
 }
 if(prime)/*是素数就存储在数组中*/
 {
 prime_pti[p]=i;
 p++;
 }
 prime=1;
 }
 for(a=0;a<p-1;a++)/*从大到小排序素数数组*/
 for(b=a+1;b<p;b++)
 {
 if(prime_pti[a]<prime_pti[b])
 {
 step=prime_pti[a];
 prime_pti[a]=prime_pti[b];
 prime_pti[b]=step;
 }
 }
 if(p>9)/*判断素数个数是否达到10,是则输出,否则退出。*/
 {
 for(i=0;i<10;i++)
 {
 if(i<9)
 printf("%d+",prime_pti[i]);
 else
 {
 printf("%d=",prime_pti[i]);
 for(n=0;n<10;n++)
 prime_z+=prime_pti[n];
 printf("%d ",prime_z);
 }
 }
 }
 else
 printf("Sorry! ");
 return0;
 }
⑨ C语言:求100-500之间所有素数之和.
#include"stdio.h"
void main()
{
int s=0,n,a;
for(n=100;n<=500;n++)
for(a=2;a<n;a++)
{
if(n/a==0)break;/*如果n不是素数,那么就会被从2到它本身之间的数整除,就跳出内循环*/
if(a=n)     /*如果n是素数,那么内循环就不会提前结束,等到最后一次循环之后a++,a就会与n相等*/
s+=n;   /*将素数全部相加,也就是求和*/
}
printf("100-500之间所有素数之和为:%d\n",s);
}
还有一种好像是(我对这个方法的数学原理不清楚,所以也不大会用)判断如果2到这个数的开平方数都不能整除这个数,那么这个数就是素数:
#include"stdio.h"
#include"math.h"
void main()
{
int s=0,n,i,k,j;
for(n=100;n<=500;n++)
{
k=sqrt(n);
for(i=2;i<=k;i++)
{
if(n/i==0)break;   /*判断依据和上面的一样,如果不是素数就提前跳出内循环了,下面的也一样*/
if(i>k)
s+=n;
}
}
printf("100-500之间所有素数之和为:%d\n",s);
}
大概就是这样,,,,你调试下吧。。。。
