怎么用C语言求fort和if输入一个数判断是否为质数还是合数

如题所述

C语言实现如下:

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
void main()
{
int n,i,b=1;
scanf("%d",&n);
if (n==1) 
{
printf("1既不是质数,也不是合数\n");
exit(0);
}
for(i=2;i<=(int)sqrt(n);i++)
{
if (n%i==0) 
{
b=0;
break;
}
}
if (b) printf("%d是质数\n",n);
else printf("%d是合数\n",n);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-22
#include<stdio.h>
int main()
{
int i, n;
printf("请输入一个正整数:");
scanf_s("%d", &n);
if (n > 0)
{
for (i = 2; i < n; i++)
{
if (n % i == 0)
{
break;
}
else
{
;
}
}
if (n == i)
{
printf("%d是质数!\n", n);
}
else if (n == 1)
{
printf("%d既不是质数也不是合数!\n", n);
}
else
{
printf("%d是合数!\n", n);
}
}
else
{
printf("输入错误!\n");
}
}
第2个回答  推荐于2017-10-09
#include <stdio.h>
main()
{ int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
if(n%i==0)
break;
if(i==n)
printf("%d是素数\n",n);
else
printf("%d是合数\n",n);

}本回答被提问者采纳
第3个回答  2020-01-29
#include
int
prime(int
n)
{
if(n<2)
return
0;
for(int
i=2;i*i<=n;i++)
if(n%i==0)
return
0;
return
1;
}
int
main()
{
int
n;
while(scanf("%d",&n)==1)
{
if(prime(n))
printf(
"%d是素数\n",
n
);
else
printf(
"%d不是素数\n",
n
);
}
}
第4个回答  2016-01-14
#include "stdio.h"
#include "math.h"
main()
{int i,n,flag=1;
printf("Please Input a number:");
scanf("%d",&n);
for (i=2;i<n;i++)
{if (n%i==0)
flag=0;
break;
}
if(flag==1)
printf("%d:is prime number!",n);
else
printf("%d:is not prime number!",n);
}
相似回答