----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
我不是高手~
----------------解决方案--------------------------------------------------------
晕,写错了一个函数,导致结果错误,改一下: #include<stdio.h>
void sort(int a[],int l) {int i,j,k,t; for(i=0;i<l-1;i++) {k=i; for(j=k+1;j<l;j++) if(a[k]>a[j]) k=j; if(k!=i) {t=a[i];a[i]=a[k];a[k]=t;} } } main() {int x,i,a[10],j; long m,n; x=10; while(1) { m=x*x*x; n=x*x*x*x; j=0; while(m) {a[j++]=m%10; m=m/10; } while(n) {a[j++]=n%10; n=n/10; } if(j>=10) {sort(a,10); for(i=0;i<10;i++) if(a[i]!=i) break; if(i>=10) break; } x++; } printf("The age =%d \n",x); getch(); }
这样比较好理解!
[此贴子已经被作者于2005-4-17 15:23:01编辑过]
----------------解决方案--------------------------------------------------------
楼中两位程序尚待改进
main() { long a,b,c; int T[10]={0},flag,i;
for(a=11;a<32;a++) /*a为年龄,由题可知10<a<32 */ { b=a*a*a; c=b*a; flag=1;
while(b) { T[b%10]=1; b/=10; } while(c) { T[c%10]=1; c/=10; } for(i=0;i<10;i++) { if(T[i]==0) { flag=0; } T[i]=0; } if(flag==1)printf("The age = %d \n",a); }
getch();
}
----------------解决方案--------------------------------------------------------
晕,空前大虾竟然在我发贴的同时删了自己的贴子
----------------解决方案--------------------------------------------------------
晕,怎么又有了?狂晕ing..................
----------------解决方案--------------------------------------------------------
只是编辑一下,写错了一个函数!
----------------解决方案--------------------------------------------------------
看错了,
[此贴子已经被作者于2005-4-17 20:37:23编辑过]
----------------解决方案--------------------------------------------------------
不知道22楼的大哥为什么发牢骚,呵呵,不过我觉得大家还是应该在写程序的时候先看看别人的程序......我的程序在18楼,我发贴之前是看过楼上所有帖子然后再给出的自己的思路的,因为从别人的程序中或多或少可以学到一些自己并不熟悉的东西,从而完善自己的思路。看了22楼的程序,我想厚着脸皮请22楼的高手大哥比较一下18楼和22楼两个程序,给出它们各自的优劣的一个评判(我想我写的再差也不会是一无是处的吧,呵呵),供大家把玩。小弟初来乍到,各位大虾多多关照,:)
----------------解决方案--------------------------------------------------------