问题描述

一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859。两小时后里程表上出现了一个新的对称数,该数仍为五位数。问该车的速度是多少?新的对称数是多少?

问题分析

根据题意,司机在上午10点看到里程表上的读数是一个对称数95859,两小时后里程表上出现的新的对称数必然大于95859。因此,假设所求对称数为 i,并设其初值为95860,即从95860开始检测,使 i 的取值依次递增。

对于 i 的每一次取值都将其进行分解,然后将对称位置上的数字进行比较,即第一位和第五位比较,第二位和第四位比较。如果每个处于对称位置上的数都是相等的,则可以判断出当前的 i 中所存放的五位数即为里程表上新出现的对称数。

算法设计

根据问题分析可知,i 需要从95860开始试探,因此显然需要使用循环结构。循环体中完成分解五位数并保存、再检测是否为对称数的功能。

根据问题分析可知,需要对一个五位数进行分解并保存,因此可以使用数组来保存分解后生成的五个数字。这样,在进行对称位置上的数字比较时,实际上进行的是指定下标的数组元素的比较。

程序流程图:

下面是完整的代码:

#include

int main()

{

int t, a[5]; /*数组a存放分解后的五个数字*/

long int k, i;

/*以95860为初值,循环试探*/

for(i=95860; ; i++)

{

/*从高到低分解当前i中保存的五位数,并顺次存放在数组元素a[0]~a[4]中*/

for(t=0,k=100000; k>=10; t++)

{

a[t] = (i%k) / (k/10);

k /= 10;

}

if( (a[0]==a[4]) && (a[1]==a[3]) )

{

printf("里程表上出现的新的对称数为:%d%d%d%d%d\n",

a[0], a[1], a[2], a[3], a[4] );

printf("该车的速度为:%.2f\n", (i-95859)/2.0);

break; /*跳出循环*/

}

}

return 0;

}

运行结果:

里程表上出现的新的对称数为:95959

该车的速度为:50.00

知识点补充

该程序使用了for语句进行循环试探,也可以使用while循环结构来替代上面的for循环,在进入while循环前要先设置 i 的初值为95860, while循环的条件为永真,因此,在循环体中要有退出循环的条件。代码为:

i=95860;

while(1)

{

/*从高到低分解当前i中保存的五位数,并顺次存放在数组元素a[0]~a[4]中*/

for(t=0,k=100000; k>=10; t++)

{

a[t] = (i%k) / (k/10);

k /= 10;

}

if( (a[0]==a[4]) && (a[1]==a[3]) )

{

printf("里程表上出现的新的对称数为:%d%d%d%d%d\n", a[0], a[1], a[2], a[3], a[4] );

printf("该车的速度为:%.2f\n", (i-95859)/2.0);

break;

}

}

c语言作业汽车加速,C语言求车速相关推荐

  1. C语言作业 第二章 C语言的数据类型

    C语言作业 第二章 C语言的数据类型 2.1 引例 运行结果: Programming is fun 说明 (1)程序中第一行: /*Output:"Programming is fun.& ...

  2. c语言作业的分析,C语言作业分析.doc

    实验一 C程序的运行环境及简单程序编写(一) 一.实验目的 1. 了解VC++6.0集成环境的基本操作方法. 2. 了解在该系统上如何编辑.编译.连接和运行一个C程序. 3. 通过运行简单的C程序,初 ...

  3. c语言作业指导1,C语言程序设计实验与习题指导

    目录 部分C语言程序设计上机实验 实验1C语言概述 实验2C语言基本数据类型 实验3C语言表达式 实验4顺序结构程序设计 实验5选择结构程序设计 实验6基本循环结构程序设计 实验7嵌套循环结构程序设计 ...

  4. 交大c语言作业答案,西安交大c语言作业及答案详解.docx

    工程分析程序设计 机作业(七) 上机目的:练习 C语言的书写.循环和判断结构 1.编写程序实现摄氏度和华氏度的相互转换: F =C *9 / 5 +32 #in clude main () { flo ...

  5. c语言作业 统计成绩,C语言作业 输入多名学生3门课程成绩,并统计成绩的平均分和总分,并根据总分输出名次。...

    如一楼所言,没有多少人有这个时间来给你写.如果你只是为了交作业,建议你端正你的学习态度.如果你是一名学生成绩管理人员,建议稍微学一下Office,用Office进行学生成绩查询排名是很快的,拜托你能不 ...

  6. 东莞理工c语言作业,东莞理工学院C语言网上作业..doc

    东莞理工学院C语言网上作业. <C语言程序设计>第2章作业 一. 单选题 (每小题5分,共100分,得分 45 分) 1.1.关于C程序的构成描述,_________是不正确的. A.一个 ...

  7. 大学期末c语言作业演示,大学C语言期末考试练习题(带详解答案)

    资源描述: 一. 单项选择题1. ( A )是构成 C 语言程序的基本单位.A.函数 B.过程 C.子程序 D.子例程2.C 语言程序从 C 开始执行.A 程序中第一条可执行语句 B 程序中第一个函数 ...

  8. c语言作业统计字符,C语言统计字符数(示例代码)

    输出样例 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ...

  9. c语言作业竖输出,c语言中竖怎么打

    2009-04-02 C语言中 ?:的意思 条件运算符(?:)是C 语言中唯一的一个三目运算符. 由条件运算符组成的条件表达式的一般形式为: 表达式1 ? 表达式 2 : 表达式 3 其中表达式 1. ...

  10. c语言作业 字符串替换,C语言字符串替换。解决方法

    当前位置:我的异常网» C语言 » C语言字符串替换.解决方法 C语言字符串替换.解决方法 www.myexceptions.net  网友分享于:2015-04-14  浏览:0次 C语言字符串替换 ...

最新文章

  1. 转:45 Useful JavaScript Tips, Tricks and Best Practices
  2. 配置ADB到Windows环境变量
  3. 浅析C#基于TCP协议的SCOKET通信
  4. 高考填报志愿计算机操作技巧,高考志愿填报技巧经验
  5. SpringCloud入门(一)
  6. 万能的BERT连文本纠错也不放过
  7. C#不同操作系统下,界面大小不一的原因
  8. AD18学习速通教程
  9. 计算机速录水平考试,汉字速录水平测试(速录证考试报名网站)
  10. SPSS个案处理插件v1.0 用SPSS构造Bootstrap样本
  11. python可以破解网站吗_python变相破解校园网 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...
  12. docker安装gamit_Ubuntu下安装gamit
  13. (附源码)springboot儿童教育管理系统 毕业设计281442
  14. 循环冗余校验-CRC
  15. Python画玫瑰花源码
  16. 四级语法4——定语从句
  17. 华宇智能数据官网全新上线,赋能行业数字化转型
  18. golang求多边形相交面积
  19. 选择恐惧症Java?Python?
  20. 《笑着离开惠普》读书笔记之用制度来规范各级员工的行为

热门文章

  1. linux系统下编译cpp文件,使其成为可执行文件
  2. 贴片电容造成短路烧毁的原因分析
  3. 什么是ISBN码及如何制作
  4. 常用照片尺寸对照表,照片大小看这个表就对了
  5. MWORKS应用案例 | 基于Modelica的射流管式电液伺服阀的建模仿真
  6. php 搜索引擎 分词_怎么在php中使用scws实现一个中文分词搜索功能
  7. 让信息带钩的六种武器——《让创意更有黏性》优秀读后感4300字
  8. 计算机固态硬盘与机械硬盘的区别是什么,电脑固态硬盘和机械硬盘有什么区别-电脑固态硬盘和机械硬盘区别介绍 - 系统家园...
  9. 【android学习笔记:Webview与Js交互】网页生成的excel/pdf等文件通过webview下载保存
  10. 蜗牛星际安装U-NAS