本文主要是介绍分离整数的各个数位(0-100000000),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
描述:
给定一个整数,要求从个位开始分离出它的每一位数字。
输入:
输入一个整数,整数在1到100000000之间。
输出:
从个位开始按照从低位到高位的顺序依次输出每一位数字。数字之间以一个空格分开。
样例输入:
12345
样例输出:
5 4 3 2 1
C语言实现:
#include<stdio.h>int main()
{int n,x,y;scanf("%d", &n);x=n;int i;for(i=1;i<=10;i++){if(i==1) //等于1时直接%10得个位数字{y=x%10;printf("%d ",y);}if(x<10) //如果x值只有一位则跳出循环break;y=(x/10)%10; //比如:1234,1234/10=123,123%10=3,依次循环printf("%d ",y);x=x/10; //下一次所要操作的值,剔除已经求出的“个位”}return 0;}
结果:
举一反三:
前面所说的只是倒序输出,现在看一下顺序输出,主要用数组实现。
#include<stdio.h>int main()
{int n,x,y[10];scanf("%d", &n);x=n;int i,sum=0; //sum用于确定所输入个数位数for(i=0;i<10;i++){if(i==0){y[0]=x%10; //如果是第一位,则将个位存在数组sum++;}if(x<10) //如果x<10则跳出循环break;if(i>0){y[i]=(x/10)%10; 与上面相同的算法x=x/10;sum++;}}int k=sum;for(i=0;i<k;i++) //循环所属数字的位数次{printf("%d ",y[sum-1]); //从后向前输出sum--;}return 0;}
结果:
顺序输出一开始用循环i--输出,结果输出不了,用数组输出一定控制好位数,不然会有数据溢出。
这篇关于分离整数的各个数位(0-100000000)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!