找回密码
 立即注册
查看: 244|回复: 0

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

[复制链接]
发表于 2022-5-11 14:33 | 显示全部楼层 |阅读模式
在某一黑夜司机碰伤行人后落荒而逃,经过警察的调查之后,有三个目击者。

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

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

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

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

思考:一看本题发现有四个条件,说明一定会用到判断语句,因为条件不少,极有可能用到if语句的嵌套;又因为是查找题,数量很大,把这些数列出来肯定要用的循环语句,由此可知,for循环里嵌套if判断语句的嵌套。因为需要一个四位数,而且要知道每位数的数字,所以会用到以下方法。
看成一个四位数也就是从1000到9999;
    设四位数为i;
    求千位数字(车牌号第一位)a: a=i/1000(i除以1000取整);
    求百位数字(车牌号第二位)b: b=i/100%10(i除以100取整得出来的数在除以10取余) 或者 b=i%1000/100(i除以1000取余得出来的数在除以100取整);
    求十位数字(车牌号第三位)c:c=i%100/10(i除以100取余得出来的数在除以10取整) 或者 c=i/10%10(i除以10取整得到的数再除以10取余);
    求个位数字(车牌号第四位)d:d=i%10(i除以10取余);
参考代码:
  1. #include<stdio.h>voidmain(){int a,b,c,d,i,e;for(i=1000;i<=9999;i++){
  2. a=i/1000;//第一位数
  3. b=i/100%10;//第二位数
  4. c=i%100/10;//第三位数
  5. d=i%10;//第四位数if(a==b){
  6. e=c+d;if(e==6){if(i%2==0){printf("%d\n",i);}}}}}
复制代码
运行结果:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-27 09:40 , Processed in 0.096181 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表