c语言编程 各位大虾给我指点一下这道c程题错在哪里?

来源:百度知道 编辑:UC知道 时间:2024/05/21 09:41:05
编写函数long fun(int high,int n),功能是:计算并返回high以内(不包含high)最大的n个素数之和。若不足n个,则到最小素数2为止。例如:若high=100,n=10,则函数的返回值为:732;若high=11,n=10,则函数返回:17。

long fun(int high,int n)
{
int i,j,t; long sum=0;
for (i=1,t=high-1;t>=2;t-- )
{for (j=2;j<sqrt(t);j++)
{if (t%j==0) break;
if(j>sqrt(t){ sum+=t; i++}
}
if (i>n) break;
}
return (sum);
}
void main()
{int k,n;
scanf("%d%d",&k,&n);
printf("sum=%ld\n",fun(k,n));
}

#include<stdio.h>

#include<math.h>/******/

long fun(int high,int n)
{
int i,j,t; long sum=0;
for (i=1,t=high-1;t>=2;t--)
{for (j=2;j<sqrt(t);)
{if (t%j==0) break;j++;}/*******/
if(j>sqrt(t)){ sum+=t; i++;}

if (i>n) break;
}
return (sum);
}
void main()
{int k,n;
scanf("%d%d",&k,&n);
printf("sum=%ld\n",fun(k,n));
}
编程思想没有错,只有一点小问题,我已经给你改好了,祝你学习愉快!