习题2-1水仙花数
输出100-999中的所有水仙花数。若三位数ABC满足ABC=A^3+ B^3+ C^3,则称其为水仙花数。例如153= 1^3+ 5^3+ 3^3,所以153是水仙花数
#include<stdio.h>
int main()
{
int i;
for(i=100;i<=999;i++)
{
int b=i%10;//个位数
int c=i%100/10;//百位数
int d=i/100;//千位数
if(i==b*b*b+c*c*c+d*d*d)
printf("%d\n",i);
else continue;
}
}
习题2-2 韩信点兵
#include<stdio.h>
int main()
{
int a,b,c;
while(scanf("%d%d%d",&a,&b,&c)!=EOF)
{
int d=0;
for(int i=10;i<=100;i++)
{
if(i%3==a&&i%5==b&&i%7==c)//取余和枚举的思想
{
printf("%d\n",i);
d=1;
}
}
if(d==0)
printf("No answer!\n");
}
}
习题2-3倒三角形
输入正整数n<=20,输出一个n层的倒三角形。
本题思路在于找寻空格与#的位置规律然后用循环来表示
int main()
{
int n,d,e;
while(scanf("%d",&n)!=EOF&&n<=20)
{
for(int i=n;i>=1;i--)
{
d=n-i;
e=2*i-1;
for(int j=0;j<d;j++) printf(" ");
for(int k=0;k<e;k++) printf("#");
printf("\n");
}
}
}