devc编写名为prime的函数,判断一个正整数是否为素数。在main函数中输入一个正整数,调用prime函数后,根据返回值输出“是”或“否”。
时间: 2024-05-05 11:20:56 浏览: 111
以下是使用C语言编写的代码:
```c
#include <stdio.h>
int prime(int n) {
if (n < 2) {
return 0; // 1不是素数,小于2的数也不是素数
}
for (int i = 2; i * i <= n; i++) { // 从2开始枚举到sqrt(n)
if (n % i == 0) {
return 0; // 如果n能被i整除,说明n不是素数
}
}
return 1; // n是素数
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
if (prime(n)) {
printf("是素数\n");
} else {
printf("不是素数\n");
}
return 0;
}
```
首先在函数prime中,我们判断了小于2的数以及1是否为素数,如果不是,直接返回0。接着从2开始枚举到sqrt(n),如果n能被i整除,说明n不是素数,直接返回0。最后如果遍历完所有可能的因子都没有整除n,说明n是素数,返回1。
在主函数main中,首先输入一个正整数n,然后调用prime函数,根据返回值输出“是”或“否”。
相关问题
devc编写名为pnum的函数,判断一个正整数是否为完全数。若是完全数则返回1,否则返回0。在main函数中输入一个正整数,调用pnum函数后,根据返回值输出“是”或“否”。
以下是 devc 代码实现:
```c
#include <stdio.h>
int pnum(int n) {
int sum = 0;
for (int i = 1; i < n; i++) {
if (n % i == 0) {
sum += i;
}
}
if (sum == n) {
return 1;
}
return 0;
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
if (pnum(n)) {
printf("是\n");
} else {
printf("否\n");
}
return 0;
}
```
解释:
首先,我们定义一个名为 `pnum` 的函数,它接受一个正整数 `n` 作为参数,返回一个 `int` 值。该函数的作用是判断 `n` 是否为完全数,是则返回1,否则返回0。具体实现过程如下:
首先,定义变量 `sum`,表示 `n` 的因子之和。然后,使用循环语句遍历 `1` 到 `n-1` 的所有自然数,对于每个自然数 `i`,如果 `n` 能够被 `i` 整除,则将 `i` 加到 `sum` 中。最后,如果 `sum` 等于 `n`,则返回1,否则返回0。
在 `main` 函数中,首先输入一个正整数 `n`,然后调用 `pnum` 函数,根据返回值输出“是”或“否”。
devc编写名为area的函数求三角形的面积,并在main函数中输入三角形3条边长,调用area函数返回面积并输出(小数点后保留2位)。
以下是使用C语言编写的程序:
```c
#include <stdio.h>
#include <math.h>
float area(float a, float b, float c) {
float s = (a + b + c) / 2;
return sqrt(s * (s - a) * (s - b) * (s - c));
}
int main() {
float a, b, c, tri_area;
printf("Enter the lengths of the triangle's three sides: ");
scanf("%f %f %f", &a, &b, &c);
tri_area = area(a, b, c);
printf("The area of the triangle is %.2f", tri_area);
return 0;
}
```
首先,在程序中定义了一个名为`area`的函数来计算三角形的面积,它接收三个参数:三角形三条边的长度。`area`函数使用海伦公式计算三角形的半周长`s`,然后使用以下公式计算面积:$\sqrt{s(s-a)(s-b)(s-c)}$。
接下来,在`main`函数中,程序提示用户输入三角形三条边的长度,并使用`scanf`语句将输入的值存储在`a`,`b`和`c`变量中。然后,程序调用`area`函数,将三条边的长度作为参数传递给它,计算三角形的面积,并将结果存储在`tri_area`变量中。最后,程序使用`printf`语句输出三角形的面积,保留两位小数。
阅读全文
相关推荐
















