C: 编程练习解析

#include <stdio.h>
int main ()
{
int a;
scanf("%d",&a);
int i,j,k;
int cnt =0;
i = a;
while( i<=a+3 ){
j = a;
while( j<=a+3 ){
k = a;
while( k<=a+3 ){
if ( i!=j ){
if( i!=k ){
if( j!=k ){
cnt++;
printf("%d%d%d",i,j,k);
//printf("%d", i*100+j*10+k);
if ( cnt == 6 ){
printf("\n");
cnt = 0;
}else{
printf(" ");
}
}
}
}
k++;
}
j++;
}
i++;
}
return 0;
}
水仙花数(SHD)
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
n=3;
//所有的三位数
int first = 1;
int i =1;
while( i<n ){
first *= 10;
i++;
}
//printf("first=%d\n",first);
//100-999
i = first;
while( i<first*10){
int t = 1;
int sum = 0;
do{
int d = t%10;
t/=10;
int p = d;
int j = 1;
while ( j<n ){
p *= d;
j++;
}
sum += p;
}while(t>0);
if ( sum == i){
printf("%d\n",i);
}
i++;
}
return 0;
}

