16.综合应用判断素数

/*
输入一个大于1的整数,判断其为素数还是合数。

素数:只能被1和自身整数的自然数。
自然数:0到无穷大的整数。

分析:
其实任何一个自然数都能被1和自身整除(0除外),
所以,只要找出能被其他(2到n-1)数中的一个整除,这个
自然数就不是素数,而是合数。
*/
#include "stdio.h"
void main()
{
int n;
int i;
int x;

x=0;
printf("请输入一大于0的整数:");
nn:x=scanf("%d",&n);
if(x!=1||n<1)
{
printf("数据输入有误,请重输:");
fflush(stdin);
goto nn;
}

if(n!=1)
{
for(i=2;i<=n-1;i++)//除1和自身外的其他数
{
if(n%i==0)//判断输入数能否被其他数整数
break;
}

if(i==n)//循环结束后,判断旗帜倒下没?
printf("%d是合数\n",n);
else
printf("%d是素数\n",n);
}
else
printf("%d既不是素数也不是合数\n",n);
}

猜你喜欢

转载自www.cnblogs.com/wyj1212/p/9006500.html