用C语言写一个判素数的函数,在主函数输入一个整数,输出是否素数的信息。

用C语言写一个判素数的函数,在主函数输入一个整数,输出是否素数的信息。

输出是否素数的信息的源代码如下:

#include <stdio.h>

#include <stdbool.h>

bool prime(int x){

if (2 > x ) {

return false;

}

for (int i = 2; i < x ; i++) {

if (0 == x % i ) {

return false;

}

}

return true;

}

int main(){

for (int i = 2; i < 100; i++) {

if (prime(i)) {

printf("%d ",i);

}

}

printf("\n");

return 0;

}

扩展资料

1、函数的使用可以身故重复代码的编写。

2、函数使得程序更加模块化,有利于程序的阅读修改和完善。

3、素数就是没有因子的数,只能被1和本身整除,所以我们就可以用循环解决,循环用于从2到他的根式判定是否有其他数可以整除它,有就跳出循环。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-18

1 根据数学定义,得到判断素数的函数。

2 主函数中输入整数。

3 调用函数判断

4 根据返回值,输出结果。

代码:

#include <stdio.h>
#include <math.h>

int is_prime(int n)
{
int i;
for(i = 2; i <= sqrt(n); i ++)
if(n%i == 0) return 0;
return 1;
}

int main()
{
int i;
scanf("%d",&i);
        if(is_prime(i))printf("%d是素数\n", i);
        else printf("%d不是素数\n", i);
return 0;
}

第2个回答  推荐于2017-09-17
main()
{
int i,x=0;
clrscr();
printf("Please input a number(x>1):\n");
scanf("%d",&x);
while(x<2)
{
clrscr();
printf("ERROR!!!Please input again!\n");
printf("Please input a number(x>1):\n");
scanf("%d",&x);
}
for(i=2;i<x-1;i++)
{
if(x%i==0)
{
printf("The number is not a SUSU.");
i=1;
break;
}
}
if(i!=1)
{
printf("The number is a SUSU.");
}
getch();
}本回答被提问者采纳
第3个回答  2006-05-22
判断素数的方法
M 他不能被0-M/2之间的数整除就是素数
程序就是循环相套
第4个回答  2020-05-03
#include<stdio.h>
int
sushu(int);
main()
{
int
a;
printf("输入一个整数:");
scanf("%d",&a);
if(sushu(a)==1)
printf("是素数");
else
printf("不是素数");
}
int
sushu(int
x)
{
int
i;
for(i=2;i<x;i++)
{
if(x%i==0)
return
0;
}
return
1;
}