程序需求:輸入一個整數,將每一位數字輸出
編程思路:將每一位輸出來,我們可以先獲取這個數的最高權位是多少
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;
}
}