#include <stdio.h>
int main ()
{int a,m,n,p;scanf("%d",&a);if(a/100==0){printf("a是两位数\n");printf("十位数字是%d,个位数字是%d\n",m=a/10,n=a%10);}if(a==n*10+m){printf("逆序后与原数相同\n");printf("a==n*10+m\n",a);}else if(a/100!=0){printf("a是三位数\n");printf("百位数字是%d,十位数字是%d,个位数字是%d\n",m=a/100,n=(a%100)/10,p=a%10);if(a==p*100+n*10+m){printf("逆序后与原数相同\n");printf("a==p*100+n*10+m\n",a);}}return 0;
}

原题为:

正确运行结果

若求十位数字时写成

n=(a-m*100)/10 则运行结果会出错(如下图)

那么,十位数字的运行结果会出错 :

原因为:括号中printf为赋值运算,会从右往左进行运算,即先进行计算再输出(先算p,再算n,再算m,但因为计算n时要用到m,此时还没有对m进行赋值,m相当于0,就相当于n为a除以10取整。若调换m和n的计算顺序,也能运行出正确结果。因此最好不要在printf里进行赋值运算,这样不管先算m还是n,都不会影响结果的正确性)。

若提前将吗m,n,p的运算式写在printf前如下:

则运行结果正确。

百位数,十位数,个位数的求法相关推荐

  1. 有一四位奇数,被9除时余8,当其个位数与百位数,十位数与千位数互换以后,后一数减去前一数之差为5940,求此最小奇数.

    思路:4位数范围1001到9999,筛选条件即可 代码 #include <stdio.h> main() {int i;for (i=1001;i<10000;i=i+2){if ...

  2. 输入一个三位正整数,输出百位数,十位数,个位数

    课本例题 #include<stdio.h> int main() {/*x,bw,sw,gw分别用来存放三位正整数及其百位,十位和个位数*/int x, bw, sw, gw;print ...

  3. 求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足条件的四位数依次存入数组b中,然后对数组b中的四位数按从大到小的顺序进行排序。

    已知数据文件IN13.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位 ...

  4. 编制一个函数jsValue(),求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的四位数的平均值pjz1,以及不满足此条件的四位数的平均值pzj2

    已知数据文件IN15.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数 ...

  5. 请问怎样取三位数的百位数,个位数,和十位数呢 (拆分)?

    请问怎样取三位数的百位数,个位数,和十位数呢 (拆分)? 看百位除以100 去个整数 整数就是百位数看十位 先取余数 比如123 /100 余数为23 再除以10 取整个位数 固定写法 取余数 < ...

  6. java小白,随意给出一个三位数的整数,打印显示它的个位数,十位数,百位数的值。

    随意给出一个三位数的整数,打印显示它的个位数,十位数,百位数的值. 格式如下: 数字xxx的情况如下: 个位数: 十位数: 百位数: 例如:数字153的情况,个位数:3,十位数:5,百位数:1. cl ...

  7. C语言:从键盘输入一个整数,分别输出它的个位数、十位数、百位数.....

    /*从键盘输入一个整数,分别输出它的个位数.十位数.百位数*/ #include <stdio.h> #include <conio.h> void main(void) {i ...

  8. 获取 个位数 十位数 百位数 千位数

    以c语言为例 , js需要向下取整 个位 num % 10 == num / 1 % 10 十位 num / 10 % 10 百位 num / 100 % 10 千位 num / 1000 % 10 ...

  9. 接收用户输入的一个5位数,求个位数、十位数、百位数、千位数、万位数的和

    题目: 接收用户输入的一个5位数,求个位数.十位数.百位数.千位数.万位数的和. /常规方法/// 12345 您输入的数万位是:1,千位是:2,百位是:3,十位是:4,个位是:5. 各位的和为:15 ...

  10. 输出该数的个位数、十位数和百位数

    [问题描述]输入一个三位正整数,求解并输出该数的个位数.十位数和百位数. [输入形式]输入三位正整数 [输出形式]依次输出个.十.百位,用空格分隔 [样例输入]152 [样例输出]2 5 1 [样例说 ...

最新文章

  1. C++_复合、委托、继承
  2. vs为什么打了断点不断_为什么西餐厅里的牛排又嫩又多汁?原来大厨都做了“这一步”...
  3. copy 浅复制 与深复制
  4. python urllib.parse_Python3 urllib.parse 常用函数示例
  5. C\C++ | FILE文件基本操作函数
  6. 计划任务和周期任务mail,at,batch,atq, atrm, cron, crontab
  7. Pixel2Mesh从单个RGB图像生成三维网格ECCV2018
  8. EasyDarwin开源流媒体服务器
  9. Python3中正则表达式使用方法
  10. USB OTG设计 (转)
  11. Unquotted string 错误
  12. 你知道SDN网络抗DDoS动态纵深防御体系设计是怎样的吗
  13. R语言-一个寻找R函数功能源码的好方法
  14. 十三、传智书城项目设计
  15. 迅龙万兆网络 驱动 linux,锐龙双万兆“小妖板” :ASRock 华擎 发布 X570D4I-2T ITX主板...
  16. 一个PHP开发者的艰难讨薪历程
  17. 和机器人问问题的软件_ABB机器人系统与软件的问答
  18. LeetCode刷题报告2
  19. Ubuntu 检测不到U盘以及u盘不可用的解决
  20. 2022年全球半导体行业10大技术趋势

热门文章

  1. mac控制台关闭指定端口
  2. were passed to component but could not be automatically inherited because component renders fragment
  3. 英伟达最新公布的眼球追踪技术
  4. STM32 CAN总线故障检测功能的使用
  5. 06 基于v5-resources在macos系统搭建a8服务
  6. 环信IM (二)添加 删除
  7. java获取法定节假日_java 获取n个工作日后的日期(包含法定节假日、双休日、节后补班)...
  8. openstack-nova-api源码剖析1
  9. 计算机二级java邓伦单_全国计算机等级考试计算机基础及Photoshop应用试题答案(2)...
  10. 《Python编程:从入门到实践》中的小练习(1)