上周回家,那期的电脑报至今没有弄到,里面的编程点将就没有做了
题目:
一辆以固定速度行驶的汽车,司机在上午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;
}
正文
2005年8月1日 第30期电脑报 编程点将2005-08-03 02:33:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/xiangyu/3411.html
阅读(4224) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论