一帧数据 mysql swift pyspark neo4j casting webkit 百度seo关键词 bitlocker加密好慢 json转object ubuntu更改文件夹权限 maya曲线建模 mysql学习 python日期转时间戳 python网页编程 java语法基础 java编程入门 java入门新手教程 java的集合框架 java索引 java得到当前时间 java文件读取 linux系统启动过程 网页游戏开发入门 js轮播图代码 kontakt 摩尔斯电码翻译器在线 cad特性匹配 手工画像 rpm卸载命令 ug拔模 mix2s拆机 layout下载 oracle表分区 ie拒绝访问 苹果手机耳机没声音 ps怎么修证件照 谷歌浏览器升级 dh浩劫天赋 调试工具
当前位置: 首页 > 学习教程  > 编程语言

小白C语言——分离数位

2021/1/13 19:20:39 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

题目:输出一个三位整数的个、十、百位数。 关键字:得到数位 思路: Q:如何利用简单的基本运算来得到一个数字的各个数位上的数字? A:利用除法和求余运算:以153为例 首先,百位最容易得到&#x…

题目:输出一个三位整数的个、十、百位数。

关键字:得到数位

思路:
Q:如何利用简单的基本运算来得到一个数字的各个数位上的数字?
A:利用除法和求余运算:以153为例
首先,百位最容易得到:153/100=1。任何三位数除以100都是得到其百位的数字

其次,个位也好弄:153%10=3。任何三位数对10取余都是其个位数。

最后,十位数有四个方法。
最好想的:
1.用(原三位数—百位数* 100—个位数 * 1)/10
153-1X100-1X3=50; 50/10=5
2.将原三位数对100取余,再除以10。
不好想的:
利用求解百位和个位的方式,组合着来求解十位
(简而言之,就是只有最高位和最低位的数是可以通过除法,取余来一步得到的,所以就是要将十位数化到最高位或者最低位上)

1.化在最高位上:
1):通过已经求出的百位数,将原三位数减去其百位数100:153-1100=53;
2):将剩余部分除以10。53/10=5
2.化在最低位上:
1):通过已经求出的个位数,将原三位数减去其个位数1:153-13=150;
2):将剩余部分对10取余。53%10=3

代码:

int main()
{
    /*x,bw,sw,gw分别用来存放三位正整数及其百位,十位和个位数*/
    int x, bw, sw, gw;
    printf("请输入一个三位正整数:\n");
    scanf_s("%d", &x);
    bw = x / 100;
    sw = (x % 100) / 10;
    gw = x % 10;
    printf("个位数为%d ,十位数为%d, 百位数为%d", gw, sw, bw);
    return 0;
}



本文链接: http://www.dtmao.cc/news_show_600034.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?