先以1000以内整数为例
#include<stdio.h> int main() { int num=0; int a,b,c; printf("请输入1000以内的数字:>"); scanf("%d",&num); if(num<1000) { a=num/100;//百位数字 b=(num%100)/10;//十位数字 c=(num%100%10)/1;//个位数字 printf("%d\n%d\n%d\n",a,b,c); } else { printf("这个数超过 1000,请重新输入"); } return 0; }其次我们来将整数范围扩大到任意整数 它的每位数由高到低的排列如下
#include <stdio.h> int main() { int num=0; int i=0,j=0, n=0,s=0; printf("please 输入数字:>"); scanf("%d",&num); for (s=1,n=1;s!=0;i++) { n=n*10; s=num/n; //判断整数位数如434/1000=0 i=3 } printf("它的位数是%d\n",i); for (j=1,n=1;j<i;j++) { n=n*10; //如434为3位,n=100 } printf("它的每位数分别是"); for (s=num;n>=1;n=n/10) { printf("%d\t",s/n);//得出最高位的数字 s=s%n; // 依次循环 得出次高位 } return 0; }本文出自 “娜些维度的雪” 博客,请务必保留此出处http://1536262434.blog.51cto.com/10731069/1700729