C语言每日一练——第84天:求车速

编程入门 行业动态 更新时间:2024-10-24 16:26:16

C语言每日一练——第84天:求<a href=https://www.elefans.com/category/jswz/34/1700568.html style=车速"/>

C语言每日一练——第84天:求车速

C语言每日一练
2022年3月2日

文章目录

  • 题目描述
  • 问题分析
  • 代码实现
  • 运行结果

题目描述

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

问题分析

这里的对称数也称回文数,在C语言每日一练——第6天:回文数里已经遇到过,所以我直接使用第6天的函数(判断一个整数是否为回文数)。

求出95859下一个回文数,再将该回文数与95859的差除以2就能得出该车的车速。

代码实现

#include <stdio.h>/*** @brief 判断是否为回文数* @return 1:是回文数;0:不是回文数*/
int is_palindrome_number(int num)
{int old_val = num;  //传入的数字int new_val = 0;    //颠倒后的数字while(num)          //当前num的位数大于1(值大于9){//将new_val乘以10,然后加上num的个位数,//使个位数从原来的后第n位变成前第n位new_val = new_val * 10 + num % 10;num /= 10; //num除以10,将个位数去掉}if(new_val == old_val) //如果反转后的数字和原数字相同return 1;else return 0;
}int main()
{int i = 0;float speed = 0.0f;for(i = 95859 + 1; ;i++){if(is_palindrome_number(i)){printf("新的对称数为%d\n", i);break;}}speed = (i - 95859) / 2.0f;printf("该车的速度是%.1f公里/小时\n", speed);return 0;
}

运行结果

更多推荐

C语言每日一练——第84天:求车速

本文发布于:2024-02-06 08:19:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1747793.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:车速   语言

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!