C语言for循环、if判断以及嵌套运用例题

在某一黑夜司机碰伤行人后落荒而逃,经过警察的调查之后,有三个目击者。

甲说:车牌号的前两位相同;

乙说:车牌号的后两位加起来等于六;

丙说:车牌号是一个四位数,并且能被二整除。

如果你是神探你能找出这辆车吗?

思考:一看本题发现有四个条件,说明一定会用到判断语句,因为条件不少,极有可能用到if语句的嵌套;又因为是查找题,数量很大,把这些数列出来肯定要用的循环语句,由此可知,for循环里嵌套if判断语句的嵌套。因为需要一个四位数,而且要知道每位数的数字,所以会用到以下方法。
看成一个四位数也就是从1000到9999;

  1. 设四位数为i;

  2. 求千位数字(车牌号第一位)a: a=i/1000(i除以1000取整);

  3. 求百位数字(车牌号第二位)b: b=i/100%10(i除以100取整得出来的数在除以10取余) 或者 b=i%1000/100(i除以1000取余得出来的数在除以100取整);

  4. 求十位数字(车牌号第三位)c:c=i%100/10(i除以100取余得出来的数在除以10取整) 或者 c=i/10%10(i除以10取整得到的数再除以10取余);

  5. 求个位数字(车牌号第四位)d:d=i%10(i除以10取余);

参考代码:

#include <stdio.h>
void main(){
int a,b,c,d,i,e;
for(i=1000;i<=9999;i++){
a=i/1000;      //第一位数
b=i/100%10;    //第二位数
c=i%100/10;    //第三位数
d=i%10;        //第四位数
if(a==b){
e=c+d;
        if(e==6){
			if(i%2==0){
			printf("%d\n",i);
			}
		}

}
}
}

运行结果:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值