c语言中,设计函数isPrimeNum,函数的功能是:判断一个数是否为素数;在主函数中输入一个整数,然后输出是否是素数的信息。
时间: 2024-03-11 07:50:17 浏览: 186
好的,这是一个简单的c语言问题。下面是函数isPrimeNum的代码实现:
```c
#include <stdio.h>
int isPrimeNum(int n) {
int i;
if (n < 2) {
return 0;
}
for (i = 2; i <= n/2; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (isPrimeNum(num)) {
printf("%d是素数。\n", num);
} else {
printf("%d不是素数。\n", num);
}
return 0;
}
```
在这个程序中,isPrimeNum函数接收一个整数作为参数,并返回1(true)或0(false),表示这个数是否为素数。如果这个数小于2,那么它肯定不是素数,直接返回0。否则,我们从2开始循环到这个数的一半,如果这个数可以被整除,那么它不是素数,返回0。如果循环结束了还没有返回,那么这个数就是素数,返回1。
在主函数中,我们先输入一个整数,然后调用isPrimeNum函数来判断它是否为素数,并输出相应的信息。
相关问题
用C语言完成这个问题,编写两个函数,将n个正整数中的素数按升序排序。函数的功能分别是:判断一个数是否为素数,以及对数组进行排序。输入分两行:第一行为n的值,第二行为n个整数。要求输入输出均在主函数中完成
在C语言中,你可以通过以下步骤来完成这个任务:
首先,我们需要编写两个函数:`is_prime` 和 `sort_primes`。
```c
#include <stdio.h>
#include <stdbool.h> // 引入布尔类型
// 判断一个数是否为素数
bool is_prime(int num) {
if (num <= 1) return false; // 0和1不是素数
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return false;
}
return true;
}
// 对包含素数的数组进行冒泡排序
void sort_primes(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (is_prime(arr[j]) && is_prime(arr[j + 1])) { // 只有素数参与比较
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
}
// 主函数
int main() {
int n, input;
scanf("%d", &n); // 输入n
int primes[n];
// 输入n个整数并检查是否为素数
for (int i = 0; i < n; i++) {
scanf("%d", &input);
if (is_prime(input)) primes[i] = input;
}
// 对素数数组进行排序
sort_primes(primes, n);
// 输出结果
printf("Sorted prime numbers:\n");
for (int i = 0; i < n; i++) {
printf("%d ", primes[i]);
}
printf("\n");
return 0;
}
```
在这个程序中,我们首先读取n和n个数字,然后只将素数存入数组`primes`中。接着,我们调用`sort_primes`函数对素数数组进行冒泡排序。最后,在主函数中打印出排序后的素数数组。
c语言:编写函数判断一个数是否为素数,在主函数中调用该函数输出100以内的全部素数,每行输出5个数。
以下是实现该功能的 C 代码:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int count = 0;
for (int i = 1; i <= 100; i++) {
if (is_prime(i)) {
printf("%d ", i);
count++;
if (count % 5 == 0) {
printf("\n");
}
}
}
return 0;
}
```
首先,我们编写了一个名为 `is_prime` 的函数,用于判断一个整数是否为素数。该函数接受一个整数参数 `num`,返回一个布尔值表示该数是否为素数。
在主函数中,我们使用 `for` 循环从 1 到 100 遍历每个数,调用 `is_prime` 函数判断是否为素数。如果是素数,就输出该数,并计数器 `count` 加一。每输出五个素数,就换行。最后,返回 0 表示程序正常退出。
阅读全文