C语言实用题目集:闰年判断、整除测试、递加三角与数论难题

需积分: 5 1 下载量 187 浏览量 更新于2024-08-05 1 收藏 236KB PDF 举报
本资源是一份关于C语言的经典题目集合,涵盖了多个基础和进阶的编程概念。以下是对每个部分的详细解析: 1. **闰年问题**: 该代码片段用于判断输入的年份是否为闰年。根据格雷戈里历法,闰年的条件是能被4整除但不能被100整除,除非同时能被400整除。C程序通过输入用户提供的年份a,通过条件语句`if(a%400==0 || (a%4==0 && a%100!=0))`来确定是否是闰年,并输出相应的结果。 2. **数字整除问题**: 这段程序通过循环结构(while)打印出1到100之间能被7整除的数。它利用`if(a%7==0)`进行条件判断,并使用`if(i%5==0)`控制每打印完5个连续的7的倍数后换行,以形成清晰的列表。 3. **五层递加三角形**: 这段代码生成一个由星号(*)组成的五层等腰三角形。通过嵌套的两个while循环,外部循环控制每一层的开始和结束,内部循环则负责输出星号的数量,随着层数增加,星号数量从1逐渐递增到2*n-1。 4. **水仙花数**: 水仙花数是指那些所有位数的立方和等于其本身的三位数。这段程序使用`while`循环遍历100到999之间的整数,对每一位进行处理并计算它们的立方和,如果和等于原数本身,则输出该数。程序还添加了换行规则,每找到一个水仙花数就打印一次换行符。 5. **最小公倍数**: 最小公倍数(LCM)是两个或多个整数共有的最小正倍数。这里的代码首先定义了一个辅助函数`gy()`用于求最大公约数(GCD),接着用GCD来计算最小公倍数`gb()`。在主函数中,用户可以输入两个整数,程序计算并输出它们的最小公倍数。 6. **其他题目缺失**: 原文第六部分提到的是缺失的,可能是另一个完整的题目或者一个小节的起始,但没有提供具体内容。通常这部分可能涉及更复杂的算法、数据结构或者函数调用,但缺少细节无法具体解读。 这份C语言经典题目集涵盖了基础的输入输出、条件判断、循环结构、递归算法以及数学运算等多个知识点,对于学习者来说是很好的实战练习材料。