请师兄讲下C语言中怎么分解得到万位,千位, 百位,十位,个位的。

来源:百度知道 编辑:UC知道 时间:2024/06/18 14:38:06
a=x/10000;/*分解出万位*/
b=x%10000/1000;/*分解出千位*/
c=x%1000/100;/*分解出百位*/
d=x%100/10;/*分解出十位*/
e=x%10;/*分解出个位*/

这是今天看的一个题,不理解是怎么分解出来的,

这不简单嘛,我给你举个例子好了,比如X=12345;
x/10000=1.2345,但是这里的a肯定是整数类型,所以就会自动舍掉后面的小数,因此a=1;
x%10000=23456; //"%"是取余运算符.就是X/10000的余数.
然后(X%10000)/1000,就是2345/1000=2.345,其中b是整数,座椅自动舍掉小数,成了b=2.
再往下,道理是一样的.

在C语言中,可以通过除法运算符( / )与求余运算符( % )分解出一个数的各位数值。

下面通过具体的实例来进行说明:
#include<stdio.h>
void main()
{
int num = 12345;

int a[5]; // 保存数num的各位数值,a[0]为最低位,a[4]为最高位

int i=0;

while(num>0) // 如果num大于0,则执行while循环体中语句

{
a[i++]=num%10; // 取出num的最低位

num = num / 10; // 将num缩小10倍,将次低位变为最低位
}

}

程序执行完后,数值a中就是num的各位数值,分别为a[5]={5,4,3,2,1}

偶是帕斯卡滴.....不过也差不多..用mod或div行不行...?