22.求车速 一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859。两小时后里程表上出现了一个新的对称数。问该车的速度是多少?新的对称数是多少? *题目分析与算法设计 根据题意,设所求对称数为i,其初值为95589,对其依次递增取值,将i值的每一位分解后与其对称位置上的数进行比较,若每个对称位置上的数皆相等,则可判定i即为所求的对称数。 *程序说明与注释 #include void main() { int t,a[5]. /*数组a存放分解的数字位*/ long int k,i. for(i=95860..i ) /*以95860为初值,循环试探*/ { for(t=0,k=100000.k>=10.t ) /*从高到低分解所取i值的每位数*/ { /* 字,依次存放于a[0]~a[5]中*/ a[t]=(i%k)/(k/10). k/=10. } if((a[0]==a[4])&.&.(a[1]==a[3])) { printf("The new symmetrical number kelometers is:%d%d%d%d%d\n", a[0],a[1],a[2],a[3],a[4]). printf("The velocity of the car is: %.2f\n",(i-95859)/2.0). break. } } } *运行结果 The new symmetrical number kelometers is:95959. The velocity of the car is:50.00 *思考题 将一个数的数码倒过来所得到的新数叫原数的反序数。如果一个数等于它的反序数,则称它为对称数。求不超过1993的最大的二进制的对称数。