本次讲解的是如何把多位数的每一位提取出来,例如一个四位数:2345:一千二百三十四。分别把他的个、十、百、千位提取出来。我们用两种方法:
第一种方法:
#include
int main(){int num=2345;
//将4位数的每一个都取出来printf("个位:%d\n",num%10);
printf("十位:%d\n",num/10%10);
printf("百位:%d\n",num/100%10);
printf("千位:%d\n",num/1000%10);
//规律:除以10再摸10return 0;
}
结果:
文章图片
下面进行讲解:
上面的第一个printf输出:num%10是取模运算,就是把2345除以10的余数是5,把个位数5提取出来了!
同样的第二个十位,为什么要除以10后再取模呢?因为想要取出十位的4,就要把个位上的5去掉,所以先除以10,就是234.5,系统默认是234,因为系统把小数点去掉了,因为我们是int类型啊,所以5就不见了,再取模运算,就把十位上的4取出来了。
百位上除以100就不用说了吧,除以100,就是23.45,自然就是23。所以再取模即是百位上的3取出来了!
千位就不用说了吧,除以1000,就是2.345 系统把小数点舍掉就是22取模就是2 啊你看2除以10 余几啊?就余2啊!!!!!哈哈!!!!!
第二种方法:
//规律:除以10再摸10 while(num>0){
printf("%d\n",num%10);
num /=10;
//取出个位数字后,立即去掉个位数字
} return 0;
这个就不用多说了,只要num大于0就一直循环,printf输出就是先取模运算,取出个位数字的数字5,因为个位数字取出不需要除以10啊 对不!然后 个位数字取出来后 就就进行除以10,得到234.5,系统默认取234,所以再取模就是十位上的4了,对吧,就这样持续下去,就全都取出来了!剩下的百位就是234/10=23.4,默认是23,因为系统把小数点去掉了,因为我们是int类型啊,然后取模就是3了。OK就是这样了,哈哈,大家都没明白了吧!!!!!!!!!!!
【C语言系列|C语言如何把多位数的每一位提取出来,(例如(四位数2345,把个、十、百、千位提取出来)超级详解)】拜拜,C语言后面有很多基础详解系列,敬请期待!
推荐阅读
- PTA|本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。
- 算法|常用的快速排序
- C语言与C++编程|C语言学习方法、学习平台及项目推荐
- csp刷题|CSP 201312-1 出现次数最多的数
- c语言|十进制转换为二进制,二进制中1的个数
- 智能车|智能车学习日记【一】——让小车跑正方形赛道(摄像头图像处理赛道)
- C|梦回童年——基于C语言实现三子棋小游戏
- 进阶C语言|详解字符函数和字符串函数
- 数据结构(C语言实现)|顺序表C语言版