C语言编程题?
写一个函数voidGetXData(intm,intk,int*x),找出大于整数m且紧靠m的k个素数。从键盘输入m和k,主函数中输出结果要求:使用子函数:voidGet...
写一个函数void GetXData(int m,int k,int *x),找出大于整数m且紧靠m 的k个素数。从键盘输入m和k,主函数中输出结果
要求:使用子函数:void GetXData(int m,int k,int *x)
【输入形式】
输入整数m和求的素数个数k
【输出形式】
k个素数
【样例输入】
17,5
【样例输出】
19,23,29,31,37 展开
要求:使用子函数:void GetXData(int m,int k,int *x)
【输入形式】
输入整数m和求的素数个数k
【输出形式】
k个素数
【样例输入】
17,5
【样例输出】
19,23,29,31,37 展开
1个回答
2020-05-31
展开全部
#include<stdio.h>
int isprime(int n) {
for (int i = 2; i * i <= n; i++)
if (n % i == 0)
return 0;
return n > 1;
}
void GetXData(int m, int k, int *x) {
int i = 0;
for (m++; k; m++)
if (isprime(m)) {
x[i++] = m;
k--;
}
}
int main() {
int i, m, k, a[100];
scanf("%d,%d", &m, &k);
GetXData(m, k, a);
for (i = 0; i < k - 1; i++)
printf("%d,", a[i]);
printf("%d\n", a[i]);
return 0;
}
int isprime(int n) {
for (int i = 2; i * i <= n; i++)
if (n % i == 0)
return 0;
return n > 1;
}
void GetXData(int m, int k, int *x) {
int i = 0;
for (m++; k; m++)
if (isprime(m)) {
x[i++] = m;
k--;
}
}
int main() {
int i, m, k, a[100];
scanf("%d,%d", &m, &k);
GetXData(m, k, a);
for (i = 0; i < k - 1; i++)
printf("%d,", a[i]);
printf("%d\n", a[i]);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |