C语言算法积累分离数位示例

 更新时间:2022年06月06日 16:57:34   作者:aprilzj123  
这篇文章主要为大家介绍了C语言算法积累分离数位的实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

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

关键字:得到数位

思路:

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):通过已经求出的百位数,将原三位数减去其百位数100f1a;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;
}

以上就是C语言算法积累分离数位示例的详细内容,更多关于C语言算法分离数位的资料请关注脚本之家其它相关文章!

相关文章

  • C语言数据结构二叉树先序、中序、后序及层次四种遍历

    C语言数据结构二叉树先序、中序、后序及层次四种遍历

    这篇文章主要介绍了C语言数据结构二叉树先序、中序、后序及层次四种遍历方式,具有一定的知识性参考价值,需要的小伙伴可以先看一下
    2022-02-02
  • C++ OpenGL实现旋转立方体的绘制

    C++ OpenGL实现旋转立方体的绘制

    这篇文章主要主要为大家详细介绍了如何利用C++和OpenGL实现旋转立方体的绘制,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手尝试一下
    2022-07-07
  • c++中冒号(:)和双冒号(::)的使用说明

    c++中冒号(:)和双冒号(::)的使用说明

    以下是对c++中冒号和双冒号的用法进行了介绍,需要的朋友可以过来参考下
    2013-07-07
  • C语言实现二叉树遍历的迭代算法

    C语言实现二叉树遍历的迭代算法

    这篇文章主要介绍了C语言实现二叉树遍历的迭代算法,包括二叉树的中序遍历、先序遍历及后序遍历等,是非常经典的算法,需要的朋友可以参考下
    2014-09-09
  • C语言修炼之路悟彻数组真妙理 巧用下标破万敌上篇

    C语言修炼之路悟彻数组真妙理 巧用下标破万敌上篇

    在C语言和C++等语言中,数组元素全为指针变量的数组称为指针数组,指针数组中的元素都必须具有相同的存储类型、指向相同数据类型的指针变量。指针数组比较适合用来指向若干个字符串,使字符串处理更加方便、灵活
    2022-02-02
  • C++中String类常见题目分享

    C++中String类常见题目分享

    这篇文章主要为大家详细介绍了一些C++中String类的常见题目,文中的示例代码讲解详细,对我们掌握C++有一定的帮助,感兴趣的小伙伴可以了解一下
    2023-06-06
  • C语言数据结构单链表接口函数全面讲解教程

    C语言数据结构单链表接口函数全面讲解教程

    这篇文章主要为大家介绍了C语言数据结构单链表所有接口函数的全面讲解教程,有需要朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2021-10-10
  • 适合初学者的C语言常量类型的讲解

    适合初学者的C语言常量类型的讲解

    常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。常量就像是常规的变量,只不过常量的值在定义后不能进行修改
    2022-04-04
  • C语言数据结构的时间复杂度和空间复杂度

    C语言数据结构的时间复杂度和空间复杂度

    算法在编写成可执行程序后,运行时需要耗费时间资源和空间(内存)资源 。因此衡量一个算法的好坏,一般是从时间和空间两个维度来衡量的,即时间复杂度和空间复杂度,感兴趣的同学可以参考阅读
    2023-04-04
  • 使用Matlab制作简易版八分音符酱游戏

    使用Matlab制作简易版八分音符酱游戏

    八分音符酱作为一款声音控制类游戏,当时还是很受大家的喜爱的。本文将用Matlab制作一款简易版的八分音符酱游戏,感兴趣的可以学习一下
    2022-02-02

最新评论