一、编写程序,该程序的功能是输出大于整数m且紧靠m的k个素数以及素数之和。程序编写要求如下:
(1) 编写函数,该函数的功能是将大于整数m且紧靠m的k个素数存入数组中,并返回满足条件的素数之和;
(2)在main函数中,由键盘输入 m 和 k 值;
(3)在main函数中输出结果,按一行输出5个数的格式输出素数。
例如:键盘上输入m和k为17和5,则输出素数:19, 23, 29, 31, 37以及素数之和139。 (大家也可以进我的另一个问题 有五十的悬赏分"C语言高手进
悬赏分:50 - 离问题结束还有 13 天 1 小时")希望哪位高手解决一下 一定要运行正确哦 用TC2.0
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define MAXSIZE 256
void createPrimeArray(int* array, int m, int k);
int prime (int m);
int main()
{
int m, k;
int i, sum = 0;
int array[MAXSIZE]={0};
printf("Input m : \b");
scanf("%d",&m);
printf("Input k : \b");
scanf("%d",&k);
createPrimeArray(array,m,k);
for (i=0; i<k; ++i)
{
printf("%d ",array[i]);
sum += array[i];
}
printf("\nthe sum : %d\n",sum);
return 0;
}
int prime (int m)
{
int i;
int r = (int)sqrt(m);
for (i = 2; i <= r; ++i)
if (m % i == 0)
return 0;
return 1;
}
void createPrimeArray(int* array, int m, int k)
{
int i = k;
while (i != 0)
{
m += 1;
if (prime(m))
{
*array = m;
--i;
++array;
}
}
}
各位哥哥姐姐 快来帮忙啊 怎么还没人写出正确的程序了