找回密码
 立即注册

QQ登录

只需一步,快速开始

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

C语言程序 几千万的数,怎样分开个位十位千位?

[复制链接]
跳转到指定楼层
楼主
ID:61140 发表于 2023-10-1 17:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如一个千万内的数
u32   how_many=12345678;                       //运行多少次变量
我想把这个变量分开为
千万
百万
十万





具体程序怎么写法,求教大神了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:496636 发表于 2023-10-1 22:26 | 只看该作者
你得把这个数赋给一个变量,如变量m,求m%10的值,就是求m除以10的余数,这样得到的值就是个位数。然后变量m除以10后再赋还给m,再次循环上面的步骤,就能求得十位数。循环多次,得到所有位数,这里循环8次。
回复

使用道具 举报

板凳
ID:1064915 发表于 2023-10-2 08:46 | 只看该作者
/**
  * @brief  返回值=X的Y次方
  */
u32 LCD_Pow(int X,int Y)
{
        unsigned char i;
        int Result=1;
        for(i=0;i<Y;i++)
        {
                Result*=X;
        }
        return Result;
}

void LCD_ShowNum(unsigned char Line,unsigned char Column,u32 Number,unsigned char Length)
{
        unsigned char i;
        LCD_SetCursor(Line,Column);
        for(i=Length;i>0;i--)
        {
                LCD_WriteData(Number/LCD_Pow(10,i-1)%10+'0');
        }
}
回复

使用道具 举报

地板
ID:91150 发表于 2023-10-2 10:29 | 只看该作者
看看有没有参考价值                                                                               

void shushu(u32 zhi2)
{unsigned int bb,cc,dd, ee;  
unsigned long aa;
          xian_zi[5]=dis_code1[zhi2/100000];aa=zhi2  % 100000;
          xian_zi[4]=dis_code1[aa  /10000  ]; bb=aa   % 10000;
          xian_zi[3]=dis_code1[bb  /1000    ]; cc=bb   % 1000;
          xian_zi[2]=dis_code1[cc  /100      ];  dd=cc   % 100;       
          xian_zi[1]=dis_code1[dd  /10       ];  ee=dd   % 10;         
          xian_zi[0]=dis_code1[ee              ];               
         
}       
回复

使用道具 举报

5#
ID:654797 发表于 2023-10-3 06:55 | 只看该作者
有个%符号可以除十取余数呀
回复

使用道具 举报

6#
ID:61140 发表于 2023-10-3 21:01 | 只看该作者
vscos 发表于 2023-10-3 06:55
有个%符号可以除十取余数呀

我弄成这样了,不知道对不对,反正现在可以正常显示了。
回复

使用道具 举报

7#
ID:16848 发表于 2023-10-4 08:08 | 只看该作者
本帖最后由 esslitao 于 2023-10-5 08:02 编辑

//----------运算函数-------------------//  void data_yunsuan(u16 aaa)
{         
weighttable[6]=aaa%10;         
weighttable[5]=aaa/10%10;         
weighttable[4]=aaa/100%10;        
weighttable[3]=aaa/1000%10;         
weighttable[2]=aaa/10000%10;      
weighttable[1]=aaa/100000%10;        
weighttable[0]=aaa/1000000;   
}
回复

使用道具 举报

8#
ID:16848 发表于 2023-10-4 08:09 | 只看该作者
我是这样完成的----在LCD中显示。
//----------运算函数-------------------//
void data_yunsuan(u16 aaa)
{  
       weighttable[6]=aaa%10;  
       weighttable[5]=aaa/10%10;  
       weighttable[4]=aaa/100%10;
       weighttable[3]=aaa/1000%10;
       weighttable[2]=aaa/10000%10;
       weighttable[1]=aaa/100000%10;
       weighttable[0]=aaa/1000000;   
}
回复

使用道具 举报

9#
ID:61140 发表于 2023-10-21 20:00 | 只看该作者
多谢各位了,已经懂了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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