目录
题目:编写程序输出符合下列要求的全部三位数
条件:由1、2、3、4四个数组
成,互不相同且无相同重复数字的三位数。
思路:四个数字分别做百位十位个位(三个循环语句嵌套遍历每个数字(若给定数字中存在0,0不能做百位)),且三个位上的数字不能相同(选择语句将输出限制在三个数不相同的情况下)。
#include<stdio.h>
int main()
{
int i, j, k;
for (i = 1; i <= 4; i++)
for (j = 1; j <= 4; j++)
for (k = 1; k <= 4; k++)
if (i != j && i != k && j != k)
printf("%d%d%d ", i, j, k);//直接并列输出三个数字,注意后面加空格让每个三位数有间隔
return 0;
}
水仙花数
题目:找到1000之内的所有水仙花数,并把它输出出来。
水仙花数:一种特殊的三位数,其每一位的立方之和等于该数本身。例如:153=1*1*1+5*5*5+3*3*3
思路:该数对10取余得到个位、对除以10得到百位和十位再对10取余得到十位、除以100得到百位。最后判断每一位的立方和与原数是否相等。
#include<stdio.h>
int main()
{
int i,a,b,c;
for (i = 100; i <1000; i++)//水仙花数是特殊三位数,所以直接从100开始判断
{
a = i % 10;// 提取个位数
b = i / 10 % 10;//提取十位数
c = i / 100;//提取百位数
if (a * a * a + b *