使用C++运行此程序:利用指针变量作为函数参数,从主函数里调用函数fl判断任意输 入的某个正整数是否为素数,并返回其阶乘值
时间: 2024-02-09 19:12:04 浏览: 72
输入一个正整数,判断是不是素数(C++)
好的,以下是代码:
```c++
#include <iostream>
using namespace std;
// 定义函数,接受一个指针参数,判断一个正整数是否为素数,并返回其阶乘值
int fl(int *n) {
int f = 1;
for (int i = 2; i <= *n; i++) {
f *= i;
}
return f;
}
int main() {
int n;
int *p = &n;
// 从键盘输入一个正整数
cout << "请输入一个正整数:";
cin >> n;
// 判断输入的数是否为素数
bool isPrime = true;
for (int i = 2; i <= n / 2; i++) {
if (n % i == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
cout << "输入的数是素数。" << endl;
} else {
cout << "输入的数不是素数。" << endl;
}
// 调用函数fl,计算输入的数的阶乘值
int f = fl(p);
// 输出阶乘值
cout << "输入的数的阶乘值为:" << f << endl;
return 0;
}
```
这里定义了一个整型变量n,以及一个指针变量p,将p指向n。在主函数中,首先从键盘输入一个正整数n,然后判断n是否为素数。判断完后,调用函数fl,计算n的阶乘值。函数fl接受一个指针参数,通过指针访问n的值,判断n是否为素数,并计算n的阶乘值。最后输出阶乘值。
需要注意的是,函数fl并不改变指针指向的变量n的值,只是通过指针访问n的值进行计算。
阅读全文