1. 水仙花数的实现
在数学中,水仙花数是指一个三位数,其各位数字立方和等于该数本身。下面的C语言代码用于寻找1000以内的所有水仙花数。
#include <stdio.h> int main() { // 寻找1000以内的水仙花数 int limit = 1000; for (int num = 1; num < limit; ++num) { // 分离出百位、十位和个位数字 int hundreds = num / 100; // 百位 int tens = (num / 10) % 10; // 十位 int units = num % 10; // 个位 // 判断是否为水仙花数:各个位数立方和等于原数 if (hundreds * hundreds * hundreds + tens * tens * tens + units * units * units == num) { printf("%d 是水仙花数 \n", num); } } // 下一节:99乘法表的实现... return 1; }
这段代码首先定义了一个变量 limit
作为查找范围(本例中为1000),然后通过循环遍历1到限制值之间的每个数。对于每个数,通过除法和取模运算分离出它的百位、十位和个位数字,并计算它们各自的立方和,如果这个立方和等于原始数值,则输出该数是水仙花数。
2. 99乘法表的实现
99乘法表展示了从1到9的所有两两相乘的结果。以下C语言代码实现了这一功能:
// 继续上面的main函数... // 输出99乘法表 printf("\n\n-- 99乘法表 --\n"); for (int i = 1; i <= 9; ++i) { for (int j = 1; j <= i; ++j) { printf("%d * %d = %2d ", i, j, i * j); } printf("\n"); // 每一行结束后换行 } return 1; }
这段代码使用嵌套循环生成乘法表。外层循环变量 i
控制列数,内层循环变量 j
控制行数。每次迭代时,根据当前的 i
和 j
计算并输出乘积,当完成一行的打印后,通过 printf("\n")
进行换行。最终输出的结果即为完整的99乘法表。