C语言刷题1 1. 变种水仙花题目描述变种水仙花数-Lily Number:把任意的数字从中间拆分成两个数字比如1461可以拆分成(1和461)(14和61)(146和1),如果所有拆分后的乘积之和等于自身则是一个Lily Number。例如:6556 * 55 65 * 51461 1 * 461 14 * 61 146 * 1求出 5位数中的所有Lily Number。输入描述无输出描述:一行5位数中的所有LilyNumber每两个数之间间隔一个空格分析因为要输出5位数中所有的变种水仙花数所以范围是10000到99999之间然后判断是不是变种水仙花数。假设拆分12345这个数会拆成1 2345、12 345、123 45、1234 5如何得到题目中要求的方式呢如1234 5就是12345先%10最后一位数字5先打印下来然后再/10就会得到1234以此类推就能得到相对应的数字然后再根据题目给的示例在进行计算。如下代码所示#includestdio.hintmain(){inti0;for(i10000;i99999;i){intj0;intsum0;for(j10;j10000;j*10){sum(i/j)*(i%j);}if(sumi)printf(%d ,i);}return0;}//结果14610 16420 23610 34420 655002. 使用循环的方法打印菱形分析打印菱形的通用思路是拆成两部分以 * 为例上半部分正三角形从顶端到最宽的一行逐行变宽下半部分倒三角形从次宽行到底端逐行变窄上半部分正三角公式推导步骤 1列出行号与数量的对应表我们先手动数出每一行的「空格组数」和「星号组数」注意代码里 printf( “) 是 2 个空格为 1 组printf(”* ) 是星号 空格为 1 组两者宽度一致保证对齐。行号 i空格组数星号组数规律观察061空格最多星号最少153空格 - 1星号 2245空格 - 1星号 2337空格 - 1星号 2429空格 - 1星号 25111空格 - 1星号 26013空格为 0星号最多最宽行步骤 2推导空格数公式观察空格组数i0 →1i1→2i5→6 规律i 每增加 1空格数减少 1是递减的等差数列 首项i0是 6公差是 - 1 通项公式空格数 6 - i 对应到循环条件循环 j 从 0 开始要执行 6-i 次所以写 j 6 - i步骤 3推导星号数公式观察星号组数i0 → 1i1 → 3i2 → 5i6 →13 规律i 每增加 1星号数增加 2是递增的等差数列 首项i0是 1公差是 2 通项公式星号数 2*i 1 对应到循环条件循环 k 从 0 开始要执行 2*i1 次所以写 k 2 * i 1。下半部分倒三角公式推导步骤 1列出行号与数量的对应表行号 i空格组数星号组数规律观察0111对应上半部分 i5 的行129空格 1星号 - 2237空格 1星号 - 2345空格 1星号 - 2453空格 1星号 - 2561对应上半部分 i0 的行顶端步骤 2推导空格数公式观察空格组数i0 →1i1→2i5→6 规律i 每增加 1空格数增加 1递增的等差数列 首项i0是 1公差是 1 通项公式空格数 i 1 对应循环条件j i 1。步骤 3推导星号数公式观察星号组数i0 →11i1→9i5→1 规律i 每增加 1星号数减少 2递减的等差数列 首项i0是 11公差是 - 2 通项公式星号数 11 - 2*i 对应循环条件k 11 - 2 * i。补充11 这个数字怎么来的最宽行是 13 个星号下半部分第一行比最宽行少 2 个13-211对应 i0 的初始值。intmain(){charc0;scanf(%c,c);inti0;//外层循环变量用来控制总行数。intj0;//内层第一个循环变量用来控制每行开头的空格数量实现菱形的缩进效果。intk0;//内层第二个循环变量用来控制每行打印的字符数量。//打印上半部分7行for(i0;i7;i)//i 从 0 到 6 循环一共执行 7 次对应菱形上半部分的 7 行。{// 循环1打印每行开头的空格for(j0;j6-i;j)//i 越小前面的空格越多i 越大空格越少。{printf( );//每次循环输出 2 个空格}// 循环2打印每行的字符带空格for(k0;k2*i1;k)//i 每增加 1字符数量增加 2 个。{printf(%c ,c);}printf(\n);}//打印下半部分6行for(i0;i6;i){for(j0;ji1;j)//i 越大前面的空格越多字符部分逐行缩进。{printf( );}for(k0;k11-2*i;k)//每次输出字符 字符数量逐行递减 2 个。{printf(%c ,c);}printf(\n);}return0;}输出结果示例假设输入字符为** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *说明程序首先读取一个字符如*上半部分7行每行开头空格递减字符数量递增1, 3, 5, …, 13下半部分6行每行开头空格递增字符数量递减11, 9, 7, …, 1每打印一个字符后都带有一个空格所以显示为字符间有间隔每行开头的空格组实际上是两个空格所以缩进效果明显总结以后遇到任意大小的菱形 / 三角形都按这个固定步骤来定行数确定上半部分几行、下半部分几行给行号 i 取值范围。列表格把 i 从 0 开始的每一行手动数出空格数、字符数填进表格。找公差看相邻两行的数量变化是加几还是减几确定公差。写公式用「首项 公差 * i」写出通项公式。验边界代入首行、末行、中间行验证是否符合预期。举个简单例子5 行菱形对角线 5 个字符上半部分 3 行i0、1、2空格2、1、0 → 公式 2 - i字符1、3、5 → 公式 2 * i 1下半部分 2 行i0、1空格1、2 → 公式 i 1字符3、1 → 公式 3 - 2 * i

相关新闻

最新新闻

LENA-R8与PIC18LF45K40的嵌入式通信与精确定位方案

LENA-R8与PIC18LF45K40的嵌入式通信与精确定位方案

1. LENA-R8与PIC18LF45K40的硬件组合解析这个组合的核心价值在于将蜂窝通信与精确定位能力集成到嵌入式系统中。LENA-R8是u-blox推出的多模LTE Cat 1模块,支持14个LTE频段和4个GSM/GPRS频段,这意味着它能在全球绝大多数地区实现网络连接。其内置的u-blox…

2026/7/3 17:53:37
PWA可安装性排查指南:解决Web应用清单不符合要求问题

PWA可安装性排查指南:解决Web应用清单不符合要求问题

1. 项目概述:当你的PWA无法被“安装”时 如果你正在开发一个渐进式Web应用,并且已经兴致勃勃地部署上线,准备迎接用户将其“安装”到主屏幕的喜悦,却突然在Chrome DevTools的Lighthouse审核里,或者是在实际测试中&…

2026/7/3 17:53:37
都说东莞包装礼盒工厂设备好用,实际使用却有这些问题?

都说东莞包装礼盒工厂设备好用,实际使用却有这些问题?

最近和做电商的朋友聊起,他感慨花钱在东莞采购包装礼盒生产设备,本想扩大产能,结果实际用起来问题不少。看似简单的采购,却藏着许多行业痛点。现状与观察部分企业反馈,采购的礼盒生产设备精度不佳,做出的礼…

2026/7/3 17:53:37
飞牛NAS安全实战:高危漏洞分析与应急响应指南

飞牛NAS安全实战:高危漏洞分析与应急响应指南

1. 项目概述:当你的飞牛NAS响起警报如果你正在使用飞牛NAS,或者你的团队、家庭的数据中心正运行在fnOS之上,那么“高危漏洞”这四个字,足以让任何一位管理员瞬间神经紧绷。这不仅仅是技术圈的一个热点话题,更是悬在每一…

2026/7/3 17:53:37
2026年AI原生安全公司推荐:高口碑AI安全品牌优选指南

2026年AI原生安全公司推荐:高口碑AI安全品牌优选指南

2026年AI原生安全公司推荐:高口碑AI安全品牌优选指南2026 年,AI 原生安全正在成为企业安全建设中一个越来越具体的方向。过去,企业做安全选型,更多关注代码质量、开源组件、应用测试、数据保护和上线流程。但随着 AI Coding、智能…

2026/7/3 17:53:37
告别手动刷课:智慧职教学习伴侣的30分钟高效学习法

告别手动刷课:智慧职教学习伴侣的30分钟高效学习法

告别手动刷课:智慧职教学习伴侣的30分钟高效学习法 【免费下载链接】auto-play-course 简单好用的刷课脚本[支持平台:职教云,智慧职教,资源库] 项目地址: https://gitcode.com/gh_mirrors/hc/auto-play-course 还在为职业教育平台的重复学习任务消耗宝贵时间…

2026/7/3 17:48:36

周新闻

月新闻