c语言 高手进 帮忙看个程序 运行出来有很多问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 14:50:52
一、编写程序,该程序的功能是输出大于整数m且紧靠m的k个素数以及素数之和。程序编写要求如下:
(1) 编写函数,该函数的功能是将大于整数m且紧靠m的k个素数存入数组中,并返回满足条件的素数之和;
(2)在main函数中,由键盘输入 m 和 k 值;
(3)在main函数中输出结果,按一行输出5个数的格式输出素数。
例如:键盘上输入m和k为17和5,则输出素数:19, 23, 29, 31, 37以及素数之和139。

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

#define MAXSIZE 256

bool prime (int m);
void createPrimeArray(int* array, int m, int k);

int main()
{
int m, k;
int array[MAXSIZE]={0};

printf("Input m : \b");
scanf("%d",&m);
printf("Input k : \b");
scanf("%d",&k);

createPrimeArray(array,m,k);
int i, sum = 0;
for (i=0; i<k; ++i)
{
printf("%d ",array[i]);
sum += array[i];
}
printf("\nthe sum : %d\n",sum);

return 0;
}

bool prime (int m)
{
int r = (int

#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;