编写函数,要求计算并输出不超过n的最大的k个素数以及它们的和。注意找到 的k个素数先要保存在数组a中。 输入格式: 输入在一行中给出n(10≤n≤10000)和k(1≤k≤10)的值。 输出格式: 在一行中按下列格式输出: 素数1+素数2+…+素数k=总和值 其中素数按递减顺序输出。若n以内不够k个素数,则按实际个数输出。 输入样例1: 1000 10 输出样例1: 997+991+983+977+971+967+953+947+941+937=9664 输入样例2: 12 6 输出样例2: 11+7+5+3+2=28 -------------------------------------------------------*/ #include <stdio.h> int a[11]; int count=0,sum=0;/*count数组中存放素数的个数,sum数组中素数求和*/ void fun(int n,int k) { int i,j; /**********Program**********/ /********** End **********/ }
时间: 2023-07-01 07:09:10 浏览: 137
C语言编程-编写函数fun求1!+2!+3!+ …… +n!的和,在main函数中由键盘输入n值,并输出运算结果;
5星 · 资源好评率100%
#include <stdio.h>
int a[11];
int count = 0, sum = 0;
void fun(int n, int k)
{
int i, j, flag;
for (i = 2; i <= n; i++) {
flag = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag == 1) {
a[count++] = i;
}
}
if (count > k) {
for (i = 0; i < k; i++) {
sum += a[i];
printf("%d+", a[i]);
}
printf("\b=%d", sum);
} else {
for (i = 0; i < count; i++) {
sum += a[i];
printf("%d+", a[i]);
}
printf("\b=%d", sum);
}
}
int main()
{
int n, k;
scanf("%d%d", &n, &k);
fun(n, k);
return 0;
}
阅读全文