c语言 输入一个正整数n,如果n不是质数,则输出-1,否则从2开始递增,输出第n个质数
时间: 2024-02-15 21:04:26 浏览: 42
好的,这是一个比较典型的 c 语言编程问题。我可以给你提供一个简单的实现思路:
1. 定义一个函数 `is_prime`,用于判断一个数字是否为质数。
2. 定义一个函数 `get_nth_prime`,用于获取第 n 个质数。
下面是代码实现:
```c
#include <stdio.h>
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int get_nth_prime(int n) {
int count = 0;
int i = 2;
while (count < n) {
if (is_prime(i)) {
count++;
}
i++;
}
return i - 1;
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
if (!is_prime(n)) {
printf("-1\n");
} else {
printf("第 %d 个质数是:%d\n", n, get_nth_prime(n));
}
return 0;
}
```
你可以把这段代码复制到你的 C 语言开发环境中运行,进行测试和调试。如果有任何疑问,欢迎随时向我提问。