学习C语言第七天

本文解释了C语言代码中使用for循环判断一个数是否为素数的逻辑,特别强调了当输入1时的错误处理。代码通过检查2到a-1之间的整除情况来确定素数,避免了对1的错误判断。
摘要由CSDN通过智能技术生成

for循环

for(循环变量初值;循环条件;循环变量增量)

此代码忽略了当a=1的情况,当a=1时,因为不满足for括号中a=2的初始条件,直接跳过for循环,这样i的结果也小于a,导致程序输出一为素数,但1并不属于素数。所以此代码仅判断a>=2以上的正整数。

#include <stdio.h>
int main()
{
	int a,i;
	printf("请输入一个数:\n");
	scanf("%d",&a);
	//判断一个数是否为素数,若其只能一和 本身 的数整除则说明其为素数
	//通过循环让这个数逐一除以比其本身小的数,若能被整除则说明这个数不是素数
	for(i=2;i<a;i++) {//i=2为初始条件,i<a循环结束条件 ,i++为每次循环都要加一 
		if(a%i==0){ 
			break;//当a能够整除i时跳出循环 
		}
	}
	if(i<a){
		printf("这个数为不是素数"); 
	}else{
		printf("这个数是素数"); 
	}
	return 0;
	
}

代码结果

d117d512333d4a6a9eef532e16a9939d.png

3b2ef2b08adb4b9c9e829855d9b9f8a3.png

 

 

 

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值