求帮写一个c语言程序。输出1000以内最大的十个素数及它们的和。要求使用简单的if while 语
求帮写一个c语言程序。输出1000以内最大的十个素数及它们的和。要求使用简单的ifwhile语句那种的。谢谢谢...
求帮写一个c语言程序。输出1000以内最大的十个素数及它们的和。要求使用简单的if while 语句那种的。谢谢谢
展开
2个回答
展开全部
#include <stdio.h>
#include <math.h>
void main()
{
int i,j,a,sum=0,count=1;
for(i=1000;i>=2;i--)
{
a=sqrt(i);
for(j=2;j<=a;j++)
{
if(i%j==0)
break;
}
if(j>a)
{
printf("%d\t",i);
sum+=i;
count++;
}
if(count>10)
break;
}
printf("sum=%d\n",sum);
}
差不多就是这样了
更多追问追答
追问
sum+=i是什么意思啊。。
追答
求和,计算1000以内10个最大素数之和
展开全部
#include <stdio.h>
int main(void)
{
int a[500]={0};
int i=1,j,k=0,n,sum=0;
while(i<1000)
{
i++;
n=0;
j=1;
while(j<=i)
{
if(i%j==0)
n++;
j++;
}
if(n==2)
{
a[k]=i;
printf("%4d",i);
k++;
}
}
i=1;
while(i<12)
{
printf("%d\n",a[k-i]);
sum+=a[k-i];
i++;
}
printf("total=%d",sum);
return 0;
}
以上是用if和while实现的求出1000以内的素数。
并利用数组输出最大十位进行求和。排版有乱,不懂得可以追问
int main(void)
{
int a[500]={0};
int i=1,j,k=0,n,sum=0;
while(i<1000)
{
i++;
n=0;
j=1;
while(j<=i)
{
if(i%j==0)
n++;
j++;
}
if(n==2)
{
a[k]=i;
printf("%4d",i);
k++;
}
}
i=1;
while(i<12)
{
printf("%d\n",a[k-i]);
sum+=a[k-i];
i++;
}
printf("total=%d",sum);
return 0;
}
以上是用if和while实现的求出1000以内的素数。
并利用数组输出最大十位进行求和。排版有乱,不懂得可以追问
更多追问追答
追问
大神啊。数组[]这种符合我们还没学过呢啊。。这样写容易露馅啊
追答
我有个地方写错了抱歉
i=0; //初始i为0
while(i<11) //i小于十一才能输出最大的十位素数并且计算它们的和。
{
printf("%d\n",a[k-i]);
sum+=a[k-i];
i++;
}
printf("total=%d",sum);
return 0;
如果不用数组只能for循环上了。不知道学过没。我的水平也不行。不过看楼下写的很好。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询