您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> C语言 >> 辅导 >> 正文    
  C趣味程序百例(07)求车速 【注册男护士专用博客】          

C趣味程序百例(07)求车速

www.nanhushi.com     佚名   不详 

22.求车速
    一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859。两小时后里程表上出现了一个新的对称数。问该车的速度是多少?新的对称数是多少?
*题目分析与算法设计
    根据题意,设所求对称数为i,其初值为95589,对其依次递增取值,将i值的每一位分解后与其对称位置上的数进行比较,若每个对称位置上的数皆相等,则可判定i即为所求的对称数。
*程序说明与注释
#include<stdio.h>
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的最大的二进制的对称数。

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目