正文

2005年8月1日 第30期电脑报 编程点将2005-08-03 02:33:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/xiangyu/3411.html

分享到:

上周回家,那期的电脑报至今没有弄到,里面的编程点将就没有做了

题目:
一辆以固定速度行驶的汽车,司机在上午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;
}

阅读(4133) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册