c语言分解9位长整数

列如:

        输入:123456789

        输出:987 654 321

我们需要用到%(取余数)来提取对应的数字

#include<stdio.h>
int main (){
	long int count;
	scanf("%ld",&count);
	int y1,y2,y3,y4,y5,y6,y7,y8,y9;//用来放置提取的每一位数字 
	y1=count%10;
	y2=count/10%10;
	y3=count/(int)1e2%10;  //因为取余只能用于整数与整数.1e+2表示1.000000乘以10的2次方,所以在前面添加(int)将其强制转换成整型 ,也可以自己全部用整数表示100000只不过要敲很多0 
	y4=count/(int)1e3%10;
	y5=count/(int)1e4%10;
	y6=count/(int)1e5%10;
	y7=count/(int)1e6%10;
	y8=count/(int)1e7%10;
	y9=count/(int)1e8%10;
	printf("%d%d%d %d%d%d %d%d%d\n",y9,y8,y7,y6,y5,y4,y3,y2,y1); //按照顺序输入 
	return 0;
}

提取某位数的方法:列如123456提取个位数就直接用123456%10得余数6

十位数先用123456先除10得12345取余除10

依次类推就行了十万位数先除100000再取余除10


版权声明:本文为qq_61804422原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。