在C语言中分解整数,如果分解一个三位数,我们可以使用除法,取余结合分解出各个位数。但如果任意输入一个数,怎么才能分解出各个位数,今天我们来介绍一种简单的方法
代码示例
#include<stdio.h>
int main(void){
int n,m;
printf("请输入数字:\n");
scanf("%d",&n);
printf("各个位数分别为:\n");
while(n!=0){
m = n;
printf("-",m);
n = n/10;
}
}
代码中使用取余获取位数,如输入256,
第1次循环
m = n,m = 256,m = 6;n=n/10,n=256/10=25;此时m = 6,n=25
第2次循环
m = n,m = 25,m = 5;n=n/10,n=25/10=2;此时m = 5,n=2
第3次循环
m = n,m = 2,m = 2;n=n/10,n=2/10=0;此时m = 2,n=0
因为while(n!=0),此时n=0,结束循环,所有的位数就可以分解出来。