本题要求计算并输出不超过n的最大的k个素数以及它们的和。大神看看我问在哪里
#include<stdio.h>
int sushu(int n) //如果n是素数 返回1,反之 返回0
{
int v;
for(v=2;v*v<=n;v++)
if(n%v==0)
return 0;
return 1;}
void main()
{ int i,j,n,sum=0;0
int h,l=0;
scanf("%d %d",&i,&j);
for(n=i;n>1;n--)
{ h=sushu(n);
if(h)
printf("%d",n);
l++;
sum=sum+n;
if(l!=j)
printf("+");
else
printf("=%d",sum);
if(n=l)
break;
}
}
![](//img1.sycdn.imooc.com/583edcd800015f0d01000100-100-100.jpg)
哲14
浏览 8429回答 1
1回答
-
望远
if(n=l)//这里有问题吧?我写了一个你可以参考一下:#include<stdio.h>
int fun(int n)
{
if(n<=0)
return -1;
else if(n<=2)
return 0;
else
{
for(int i=2;i<n;i++)
{
if(n%i==0)
return 1;
}
return 0;
}
}
void main()
{
int i,sum=0,m,n;
printf("请输入两个正整数:m,n\n");
scanf("%d %d",&m,&n);
for(i=m;i>0 && n>0;i--){
if(fun(i)==0){
printf("%d",i);
sum+=i;
n--;
if(n!=0){
printf("+");
}else{
printf("=%d",sum);
break;
}
}
}
printf("\n");
}
打开App,查看更多内容