|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
int main()
{
int i,num;
_Bool flag=1; 还有就是在devc++为啥用不了布尔类型呀
printf("请输入一个整数");
scanf("%d",&num);
for(i=2;i<=num/2,i++) 主要是没有看懂这里这个循环语法所内涵的意思,不知道这个循环在这里的用处
{
if(num%i==0)
{
flag=0;
}
}
if(flag)
{
printf("%d是一个素数",num);
}
else
{
printf("%d不是一个素数",num);
}
return 0;
}
- #include <stdio.h>
- int main() {
- int i, num;
- _Bool flag = 1;
- printf("请输入一个整数");
- scanf("%d", &num);
- for (i = 2; i <= num / 2; i++) {
- if (num % i == 0) {
- flag = 0;
- break; // 优化:一旦找到一个因子,就可以确定不是素数,无需继续循环
- }
- }
- if (flag && num > 1) {
- printf("%d是一个素数", num);
- } else {
- printf("%d不是一个素数", num);
- }
- return 0;
- }
复制代码
这段代码是用来判断一个整数是否为素数的。首先,通过循环遍历2到num的一半的范围,依次判断是否能整除num。如果能整除,就将flag置为0,表示不是素数。同时,为了优化性能,当找到一个因子时,就可以确定不是素数,因此可以使用 break 语句跳出循环。最后,根据flag的值和num的大小来输出判断结果。在这段代码中,布尔类型使用了 _Bool ,这是C语言中的布尔类型,可以表示true或false。
|
|