题目要求编写一个函数,判断一个给定的整数是否是素数,并将判断结果打印出来。如果是素数,则返回1,否则返回0。函数原型为: int fun(int m)。其中,参数m是要进行判断的数;返回值若为1,则说明该数是素数,返回值若为0,则说明该数不是素数。 输入提示信息:无 输入数据格式要求:无 输出数据格式要求:"%d\n" 注:不允许使用goto语句。
时间: 2023-07-14 10:12:27 浏览: 48
以下是实现该函数的代码:
```c
#include <stdio.h>
int fun(int m) {
if (m <= 1) { // 1不是素数
return 0;
}
for (int i = 2; i * i <= m; i++) { // 遍历2到sqrt(m)
if (m % i == 0) { // 若能整除,则不是素数
return 0;
}
}
return 1; // 如果前面都没有返回,则是素数
}
int main() {
int n;
printf("请输入一个整数:");
scanf("%d", &n);
int result = fun(n);
printf("%d\n", result);
return 0;
}
```
该程序中,`fun`函数用于判断一个整数是否为素数。如果该整数小于等于1,则不是素数;否则遍历2到sqrt(m)的所有整数,如果能被整除,则不是素数。如果前面都没有返回,则是素数,返回1。在`main`函数中,首先输入一个整数n,然后调用`fun`函数判断其是否为素数,并将结果打印出来。
相关问题
给定一个整数n,要求编写函数isprime(n)判断n是否为素数,如果是,则返回True,否则返回False
好的,以下是Python的代码实现:
```python
def isprime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
```
这个函数首先判断n是否小于等于1,如果是,则直接返回False。接着从2开始到n的平方根(向下取整)进行循环,如果n能被循环中的某个数整除,则说明n不是素数,返回False。如果循环结束后没有返回False,则说明n是素数,返回True。
判断给定区间整数是否是素数,并按一行5个进行输出
以下是Python代码实现:
```python
# 定义函数判断是否为素数
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
# 输入区间
start = int(input("请输入起始整数:"))
end = int(input("请输入终止整数:"))
# 检查并输出素数
count = 0
for num in range(start, end + 1):
if is_prime(num):
print(num, end=" ")
count += 1
if count % 5 == 0:
print()
# 如果最后一行不足5个数字,则补齐空格
if count % 5 != 0:
print()
```
这里使用了一个 `is_prime` 函数来判断整数是否为素数。在主程序中,循环遍历输入的区间,并将素数输出。使用计数器 `count` 记录已输出的素数个数,每输出5个素数就打印一个换行符。最后,如果最后一行不足5个数字,则补齐空格。