找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2319|回复: 14
打印 上一主题 下一主题
收起左侧

一个0-999之间的数,如何把它的个位,十位,百位分别提取出来呢?

  [复制链接]
跳转到指定楼层
楼主
ID:796670 发表于 2020-12-8 15:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
某个数x,在0-999之间,不知道他是几位数,如何把它的各位分别提取出来呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:387200 发表于 2020-12-8 15:57 | 只看该作者
使用不断取余的方式,就可以提取了
回复

使用道具 举报

板凳
ID:235954 发表于 2020-12-8 16:00 | 只看该作者
ge=x%10;shi=x/10%10;bai=x/100%10;
回复

使用道具 举报

地板
ID:838798 发表于 2020-12-8 16:02 | 只看该作者
取余,位数没影响吧
回复

使用道具 举报

5#
ID:716656 发表于 2020-12-8 16:10 | 只看该作者

  1.     l=k/100;
  2.     m=k/10%10;
  3.     n=k%10;
  4. 参考
复制代码
回复

使用道具 举报

6#
ID:856899 发表于 2020-12-8 16:55 | 只看该作者
设一个数为n,则在C语言中其个位、十位、百位、千位依次这样计算:n/1%10,n/10%10,n/100%10,n/1000%10
回复

使用道具 举报

7#
ID:856429 发表于 2020-12-8 19:21 | 只看该作者
n/1%10,n/10%10,n/100%10,n/1000%10,不断取余,以此类推,不管多少位都是取余

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

8#
ID:808225 发表于 2020-12-8 22:08 | 只看该作者
你先假设你要算的数值,然后除,取余,直到算出你想要的值
回复

使用道具 举报

9#
ID:223946 发表于 2020-12-8 22:23 | 只看该作者
#include<stdio.h>
int main(){
       
        int a=199;
        int temp;
        int i=0;
        int b[100];
        temp =a;
        while(temp){
        b[i]=temp%10;//对a取余
        printf("%d ",b[i]);//打印取余的结果
        temp =temp/10;//整除10是将最后一位去掉
        i++;       
        }
}
//该函数可以将a的各位打印出来

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

10#
ID:517951 发表于 2020-12-9 09:20 | 只看该作者
void tablex(uint tab1)      //数据分解
{
        h1=tab1/1000;                  //1023 可以得到1
        h2=tab1%1000/100;          //0230可以得到0
        h3=tab1%100/10;             //23可以得到2
        h4=tab1%10;                   //得到3
}
回复

使用道具 举报

11#
ID:223621 发表于 2020-12-9 15:45 | 只看该作者
999999 ->"999999"
wtvw[0]=aa/100000+0x30;
wtvw[1]=(aa%100000)/10000+0x30;
wtvw[2]=(aa%10000)/1000+0x30;
wtvw[3]=(aa%1000)/100+0x30;
wtvw[4]=(aa%100)/10+0x30;
wtvw[5]=aa%10+0x30;
回复

使用道具 举报

12#
ID:691654 发表于 2021-9-25 00:59 | 只看该作者
用求余求末的方式
对这个数取余,然后x=x/10,直到x<1
回复

使用道具 举报

13#
ID:968109 发表于 2021-9-25 09:44 | 只看该作者
已知0-999 所以直接取余就行, 就算是两位数 比如99 取余百位是0 ,所以直接取余即可.
n/1%10,n/10%10,n/100%10,n/1000%10
回复

使用道具 举报

14#
ID:139866 发表于 2021-9-25 18:06 | 只看该作者
本帖最后由 天ノ忆 于 2021-9-25 18:09 编辑

/**
* @name:NumtoString
* @param {int} num
* @param {char} bit
* @param {char*} string
* @return {*}
*/
char* *NumtoString(int num, char bit, char *string)
{
        for (char i = bit; i > 0; i--)
        {
                *(string + bit - i) = num / pow(10, i - 1);
                num %= (int)pow(10, i - 1);
        }

        return string;
}


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表