c语言高手进啊 这是第二次提这个问题了 没人帮我解决好 帮我修改一下以下程序 或者帮忙编一个程序

一、编写程序,该程序的功能是输出大于整数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;
}
}
}
各位哥哥姐姐 快来帮忙啊 怎么还没人写出正确的程序了

#include <math.h>

int ss(int n); /*判断素数*/

void main()
{
int m, k;
int i, count = 0, sum = 0;
printf("input m k:\n");
scanf("%d%d", &m, &k);
for (i = m + 1; ; i++)
{
if(ss(i) == 1)
{
count++;
printf("%d\t", i);
sum += i;
if(count % 5 == 0)
{
printf("\n");
}
if(count == k)
{
break;
}
}
}
printf("\nsum is %d\n", sum);
getch();
}

int ss(int n) /*判断素数*/
{
int i;
int k = (int)sqrt(n) + 1;
for(i = 2; i < k; i++)
{
if(n % i == 0)
{
break;
}
}
if(i >= k)
{
return 1;
}
if(i < k)
{
return 0;
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-06-13
比较懒啊,这个太简单了吧,自己找本书看看都要,自己调试下吧
第2个回答  2007-06-13
忽啦啦啦,忽啦啦,怎么记得你的名字?
相似回答