C语言输入一个数,判断它是否是质数的几种方法

方法一:

#include"stdio.h"
main()
{
inta,b,c;
scanf("%d",&a);
for(c=2;c<a;c++)
 {
	if(a%c==0)
	break;
 }
if(c>=a)
printf("%d是质数",a);
else
printf("%d是合数",a);
}

方法二

#include"stdio.h"   
main()

{
inta,b,c;
scanf("%d",&a);
b=a/2;
for(c=2;c<=b;c++)
 {
	if(a%c==0)
	break;
 }
if(c>b)
printf("%d是质数",a);
else
printf("%d是合数",a);
}

方法三

#include"stdio.h"
#include"math.h"
main()
{
inta,b,c;
scanf("%d",&a);
b=sqrt(a);
for(c=2;c<=b;c++)
 {
	if(a%c==0) break;
 }
if(c>b)
printf("%d是质数",a);
else
printf("%d是合数",a);
}
  • 18
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是几种不同的方法来实现相同的功能: 方法一:使用一个变量记录是否为素 ```c #include <stdio.h> int func(int n); int main() { int m, is_prime = 0; printf("请输入一个:"); scanf("%d", &m); if (func(m)) { is_prime = 1; } if (is_prime) { printf("yes\n"); } else { printf("no\n"); } return 0; } int func(int n) { if (n <= 1) { return 0; } for (int i = 2; i * i <= n; i++) { if (n % i == 0) { return 0; } } return 1; } ``` 这种方法中,我们使用一个变量 `is_prime` 记录是否为素。如果 `func(m)` 返回值为真,则将 `is_prime` 的值设为 1,否则保持默认值 0。最后根据 `is_prime` 的值输出 "yes" 或 "no"。 方法二:直接在判断语句中调用函 ```c #include <stdio.h> int func(int n); int main() { int m; printf("请输入一个:"); scanf("%d", &m); if (func(m)) { printf("yes\n"); } else { printf("no\n"); } return 0; } int func(int n) { if (n <= 1) { return 0; } for (int i = 2; i * i <= n; i++) { if (n % i == 0) { return 0; } } return 1; } ``` 这种方法中,在判断语句中直接调用 `func(m)` 函,如果返回值为真则输出 "yes",否则输出 "no"。 方法三:使用三目运算符 ```c #include <stdio.h> int func(int n); int main() { int m; printf("请输入一个:"); scanf("%d", &m); printf("%s\n", func(m) ? "yes" : "no"); return 0; } int func(int n) { if (n <= 1) { return 0; } for (int i = 2; i * i <= n; i++) { if (n % i == 0) { return 0; } } return 1; } ``` 这种方法中,我们使用三目运算符 `? :` 来简化判断语句。如果 `func(m)` 返回值为真,则输出 "yes",否则输出 "no"。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霖宇长清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值