求帮写一个c语言程序。输出1000以内最大的十个素数及它们的和。要求使用简单的if while 语

2025-01-07 05:54:47
推荐回答(2个)
回答1:

#include 
#include 
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);
}

 差不多就是这样了

回答2:

#include
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以内的素数。

并利用数组输出最大十位进行求和。排版有乱,不懂得可以追问