第1关:判断一个正整数是否为素数的函数
100
任务要求
参考答案
评论
任务描述
相关知识
编程要求
测试说明
任务描述
本关任务:编写一个 prime ()函数,判断一个正整数是否为素数,并且函数体里输出判断结果,该函数没有返回值。在主函数中输入10个正整数,调用prime ()函数判断是否为素数。
相关知识
素数,指在大于 1 的自然数中,除了 1 和该数自身外,无法被其他自然数整除的数。
编程要求
根据提示,在右侧编辑器 Begin-End 区间补充代码,在主函数中从后台获取10个正整数,调用prime ()函数判断这10个正整数是否为素数,并输出判断结果。
测试说明
平台会对你编写的代码进行测试:
测试输入:41 13 2 32 9 7 6 30 5 8
预期输出:
41 是素数.
13 是素数.
2 是素数.
32 不是素数.
9 不是素数.
7 是素数.
6 不是素数.
30 不是素数.
5 是素数.
8 不是素数.
#include <stdio.h>
#include<math.h>
void prime(int m); //prime()函数声明
int main()
{
int a[10],i;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<10;i++)
{
prime(a[i]); //调用无返回值函数,判断a[i]是否是素数
}
return 0;
}
/*****定义void prime(int m) *****/
/********** Begin **********/
void prime(int m)
{
int flag=1;
if(m<=1){
printf("%d 不是素数.\n",m);
}else{
for(int i=2;i<=sqrt(m);i++){
if(m%i==0){
printf("%d 不是素数.\n",m);
flag=0;
break;
}
}
if(flag){
printf("%d 是素数.\n",m);
}
}
}
/********** End **********/