上周回家,那期的电脑报至今没有弄到,里面的编程点将就没有做了 题目: 一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859。两小时后里程表上出现了一个新的对称数。问该车的速度是多少?新的对称数是多少 这题是我的C语言程序百例里面第22题,大家可以对比学习。 我的答案: /*程序思想: 可以用假设两个小时的行程从1递增,当满足里程表的度数对称时停止。 按常识,两个小时后不可能使现在的里程表的度数由现在的5位数变成6位数。 故这时里程表新的值若满足个位==万位(也就是9),十位==千位就可以了。 程序在vc++6.0运行通过,结果是: 该车的速度为:50 新的对称数是:95959 */ #include<iostream> using namespace std; void main() { int i,a,b,c,d; for(i=1;;i++) { a=95859+i; b=a%10;//取得个位 c=(a%100)/10;//取得十位 d=(a/1000)%10;//取得千位 if(b==9&&c==d)break;//个位等于9也就是万位,十位和千位相等那么这时就是对称了 } cout<<"该车的速度为:"<<i/2<<"\n新的对称数是:"<<a<<endl; }

评论