C语言面试题目有四个数字,能组成多少个符合条件的三位数
题目: 有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
数学解题思路:
1、三位数,那么就设百位为x,十位为y,个位为z
2、有1、2、3、4四个数字,那么x有可能等于1、2、3或4,y也有可能等于1、2、3或4,z也有可能等于1、2、3或4
3、那么由x、y、z组成的三位数,可能是111、112、113、114、121、122、123、124......等这些组合的数。
4、互不相同,意思就是:x y,y z,x z;无重复数字,意思就是:x y且y z且x z,那么就要排除112、121、211等这类三位数。
程序实现思路:
1、三位数,那么就设百位为x,十位为y,个位为z int main(void) { /* 百位为x,十位为y,个位为z */ unsigned short x,y,z; return 0; }
2、有1、2、3、4四个数字,那么x有可能等于1、2、3或4,y也有可能等于1、2、3或4,z也有可能等于1、2、3或4 int main(void) { /* 百位为x,十位为y,个位为z */ unsigned short x,y,z; /* x有可能等于1、2、3或4 */ for (x = 1; x <= 4; ++x) { } /* y有可能等于1、2、3或4 */ for (y = 1; y <= 4; ++y) { } /* z有可能等于1、2、3或4 */ for (z = 1; z <= 4; ++z) { } return 0; }
3、那么由x、y、z组成的三位数,可能是111、112、113、114、121、122、123、124......等这些组合的数。
要组合数字,那么上面的循环就要嵌套起来了。只要区分x是百位,y是十位,z是个位,那么不管x嵌套y,y又嵌套z,还是其它种嵌套都是无所谓的。 int main(void) { /* 百位为x,十位为y,个位为z */ unsigned short x,y,z; /* x有可能等于1、2、3或4 */ for (x = 1; x <= 4; ++x) { /* y有可能等于1、2、3或4 */ for (y = 1; y <= 4; ++y) { /* z有可能等于1、2、3或4 */ for (z = 1; z <= 4; ++z) { /* * 111、112、113、114、121、122、123、124......等这些组合的数 * 计算机就没办法像手写直接写成xyz * 需要百位乘以100,十位乘以10,个位乘以1 * x * 100 + y * 10 + z *1 * */ x * 100 + y * 10 + z *1; } } } return 0; }
4、互不相同,意思就是:x y,y z,x z;无重复数字,意思就是:x y且y z且x z
要排除互不相同且无重复数字,那就用if判断 int main(void) { /* 百位为x,十位为y,个位为z */ unsigned short x,y,z; /* x有可能等于1、2、3或4 */ for (x = 1; x <= 4; ++x) { /* y有可能等于1、2、3或4 */ for (y = 1; y <= 4; ++y) { /* z有可能等于1、2、3或4 */ for (z = 1; z <= 4; ++z) { /* * 111、112、113、114、121、122、123、124......等这些组合的数 * 计算机就没办法像手写直接写成xyz * 需要百位乘以100,十位乘以10,个位乘以1 * x * 100 + y * 10 + z *1 * */ // 要排除互不相同且无重复数字,那就用if判断 if (x != y & x != z & y !=z) { x * 100 + y * 10 + z *1; } } } } return 0; }
多少个?定义一个变量统计下;都是多少?打印出来。完整C语言代码就如下了 #include int main(void) { /* 百位为x,十位为y,个位为z */ unsigned short x,y,z; // 符合条件的三位数有count个,初始值是0 int count = 0; /* x有可能等于1、2、3或4 */ for (x = 1; x <= 4; ++x) { /* y有可能等于1、2、3或4 */ for (y = 1; y <= 4; ++y) { /* z有可能等于1、2、3或4 */ for (z = 1; z <= 4; ++z) { /* * 111、112、113、114、121、122、123、124......等这些组合的数 * 计算机就没办法像手写直接写成xyz * 需要百位乘以100,十位乘以10,个位乘以1 * x * 100 + y * 10 + z *1 * */ // 要排除互不相同且无重复数字,那就用if判断 if (x != y & x != z & y !=z) { // 符合条件就累加1 ++count; // 符合条件的数值打印出来 printf("%d ", x * 100 + y * 10 + z *1); } } } } printf("符合条件的三位数有%d个 ", count); return 0; }
80,国足归化最大笑话诞生!高拉特万万没想到,广州队变冤大头文彬少侃球(首发)众所周知,中国足球目前处在最低谷时期,自从足协主席陈戌源被带走调查后,足协群龙无首,在新赛季之前,很多球队的准入情况都处在搁置之中,尽管足协作为管理部门,还继续在
曾经很能打,如今要拉胯!欧冠淘汰赛英超球队三负一平无胜绩记者尹成君3负1平,号称世界第一联赛的英超,在欧冠八分之一决赛首回合交出了一份并不体面的答卷。尤其是利物浦在安菲尔德球场25惨败,更是令人惊掉下巴。形成对比的是,本回合意甲三支球队
奥纳纳我和哲科关系很好,大家都想让球队踢得更好直播吧2月23日讯在欧冠18决赛首回合,国米主场10战胜波尔图。赛后国米门将奥纳纳接受了采访。比赛中奥纳纳和队友哲科之间发生了争吵,奥纳纳首先解释这只是比赛的一部分,每个人都认为自
坐着轨道2号线去重庆母城旅行鹅岭公园。渝中区文化旅游委供图在渝中,有一种情怀是爬坡上坎,在蜿蜒曲折的石板路上,看山城的万家灯火在渝中,有一种情调叫走街串巷,在鳞次栉比的屋檐下,带你吃遍重庆味道在渝中,还有一种
乒坛德国名将蒂姆波尔实力分析虽然现在波尔已经41岁了,德国一号种子选手已经是奥恰洛夫,然而波尔作为一代名将战绩斐然,波尔拥有两次世界杯冠军,并且都面临了大批中国选手,波尔的时代属于中国最为强盛的时期,有着二王
国米绝杀波尔图意甲三队齐获胜北京时间2月23日,在202223赛季欧冠18决赛首回合比赛中,意甲豪门国际米兰凭借卢卡库在比赛尾声的进球,主场1比0击败葡萄牙球队波尔图。卢卡库进球国米力克波尔图国米和波尔图此前
目前乔老板处境很尴尬关于马库斯乔丹与拉尔萨恋情的消息目前持续在发酵,乔丹本人目前没有发表任何公开的评论,但是此前乔丹的生日宴上却没有看到拉尔萨的身影。据媒体透露,拉尔萨已经开始备孕,打算为马库斯乔丹生
国安要签林良铭?种种因素表明可能性非常大在基本敲定了方昊之后,北京国安新赛季的新援工作仍在继续,据可靠消息,现效力于大连人队林良铭是国安的下一个目标,并且已经有实质性的进展,目前看来,可能性还是有的。足球报记者贾岩峰发布
子弹姐舍甫琴科回应日本格斗女王中井伶的召唤不久前,舍甫琴科出席日本老牌格斗DEEPJEWELS现场,日本格斗女王中井伶在击败对手栗山葵后,向台下的舍甫琴科发起了召唤我想知道舍甫琴科对我的表现有何感想,我知道舍甫琴科是最优秀
她6岁被成龙抱着上春晚,却因长相被骂退圈出国,如今她长什么样娱乐圈的更新换代速度很快,从人尽皆知到无人问津也是非常快的。童星里面长残的也有很多,今天给大家介绍的这位童星名字叫做陆子艺。她6岁就被成龙抱着上春晚,和众多明星合作。之后却因为长残
少年包青天主演现状包拯种地,公孙策经商,各有各的心酸包青天开播30周年文2号探秘人编辑2号探秘人一部为他人量身定制的剧本,却辗转到了周杰的手中。少年包青天自上映以来便被翻拍了众多版本,但时至今日,最火的当数是周杰所参与演出的少年包青