以下是引用sailer在2005-11-19 14:51:00的发言:
long a=10000,b,c=2800 ,d,e,f[2801],g;
main()
{ for(b=0; c-b;b++)
f[b]=a/5;
for(;d=0,g=c*2; c -=14,printf("%.4d\t",d+e/a),e=d%a)
for(b=c;d+=f[b]*a,f[b]=d%(--g),d/=g--,--b;d*=b);
getch();
}
谁能看懂?谁是高手?弄懂了就是谁。
希望大家留下你们的看法和对程序的理解。谢谢你们的关注~~!~!~!~!~!~!~!~!
第一句 for(b=0; c-b;b++)的理解是给b的值为c的值2800
f[2800]付值2000;
for(;d=0,g=c*2; c -=14,printf("%.4d\t",d+e/a),e=d%a)
这句话中,g的值判断条件,当g==0时循环结束根据语句也就是C等于0,在这个循环中,c=c-14,然后输出d+e/a,在给E付值d%a共循环了2000次吧
for(b=c;d+=f[b]*a,f[b]=d%(--g),d/=g--,--b;d*=b);
先给B付0然后D=D+ f[b]*a,接着改变F[b]的值,D,B,直到都为O,循环判断为0,循环的处理语句是d=d*b和getch
我大概看了一下就是这样,不知道有多少地方说错了
请大家多多指教啊