順序和逆序輸出
阿新 • • 發佈:2018-11-04
#include<stdio.h>
主函式
1、逆序輸出數字n的每一位
數字n對10求餘算出個位數字, 輸出個位數字,然後n/10,儲存高位數字,依次從低位到高位逆序輸出n
int PrintReverse1(int n)//逆序函式
{
do
{
printf("%d ",n%10);//儲存個位數字
n /= 10;//丟個位數字,儲存高位數字
}while(n != 0);
printf("\n");
return 0;
}
2、順序輸出數字n的每一位
首先算出n的位數(定義一個迭代因子,n除一次10,迭代因子加一),然後用n的位數算出和n位數相同的最小數字(n=123,那麼n位數相同的最小數字就是100),算數n的最高位數字並輸出,依次從高位到低位逆序輸出n
int Figure(int n)//計算數字位數函式 { int count = 0;//定義一個迭代因子 do { count++;//n除一次10,count+1 n /=10;//丟掉個位數字 }while(n != 0); return count; } int PrintOrder(int n)//順序輸出函式 { int a = Figure(n);//將n的位數賦值給a int b = 1; for(int i=0;i<a-1;i++) { b *= 10;//為了得到和n一樣位數的最小數字 } do { printf("%d ", n/b);//得到n的最高為數字 n %= b;//儲存求餘後的n b /= 10;//儲存除10後的b }while(b!=0); printf("\n"); return 0; }
主函式
int main()
{
PrintOrder(123456789);
PrintReverse1(123456789);
printf("%d\n",Figure(12345));//測試計算數字位數函式
return 0;
}