【c语言】输入一个整数,将每一位数字输出
程序需求:输入一个整数,将每一位数字输出
编程思路:将每一位输出来,我们可以先获取这个数的最高权位是多少
t = number; 将从键盘上获取的数 拷贝一份给t
while(t>=10) 中 主要的作用是获取最高位数 power*=10 每执行一次就*10 t/=10 对一个数整除
假如我们输入一个数字:
123 执行完成之后,power 中存储的是100
我们知道了最高位是百位 那么就可以用/ %获取各个位上的数字
digit = number/power;
printf("%d\n",digit);
number%=power;
power/=10;上面这3句话的作用是将
123/100 digit = 1 123%100 = 23 100/10=10 键盘上输出: 1
23/10 digit = 2 23%10=3 10/10=1 键盘上输出: 2
1>=1 3/1 digit = 3 3%1 = 0 1/10 = 0 键盘上输出: 3
到此程序不符合条件 跳出程序结束 释放cpu的使用权 释放存储空间
#include<stdio.h>
/*
程序作用:输入一个整数,将每一位数字输出
编程思路:将每一位输出来,我们可以先获取这个数的最高权位是多少
t = number; 将从键盘上获取的数 拷贝一份给t
while(t>=10) 中 主要的作用是获取最高位数 power*=10 每执行一次就*10 t/=10 对一个数整除
假如我们输入一个数字:
123 执行完成之后,power 中存储的是100
我们知道了最高位是百位 那么就可以用/ %获取各个位上的数字
digit = number/power;
printf("%d\n",digit);
number%=power;
power/=10;
上面这3句话的作用是将
123/100 digit = 1 123%100 = 23 100/10=10 键盘上输出: 1
23/10 digit = 2 23%10=3 10/10=1 键盘上输出: 2
1>=1 3/1 digit = 3 3%1 = 0 1/10 = 0 键盘上输出: 3
到此程序不符合条件 跳出程序结束 释放cpu的使用权 释放存储空间
**/
void main(){
int digit,number,power,t;
printf("enter an integer:");
scanf("%d",&number);
number = number<0?-number:number;
//获取从键盘上输入数的最高位 3456 是1000
power = 1;//最高位
t = number;
while(t>=10){
power*=10;
t/=10;
};
//遍历输出从键盘上获取的数据 各个上的位数
printf("the digits are:");
while(power>=1){
digit = number/power;
printf("%d\n",digit);
number%=power;
power/=10;
}
}