單選框設定預設選中
阿新 • • 發佈:2020-12-10
技術標籤:c語言
埋骨何須桑梓地,人生何處不青山。
今天是12月11日,這是我的第二篇學習日誌。
昨天晚上有提到要重新寫一遍那道題,以下是我的程式:
(上一篇沒加程式碼塊,直接出來了程式碼原樣,這個以後得注意)
#include<stdio.h>
#include<math.h>
void nix(int n)//逆序輸出
{
do {
printf("%d", n % 10);
n /= 10;
} while (n != 0);
}
int sum(int n)//統計位數
{
int i;
for (i= 0;n!=0 ; i++)
{
n /=10;
}
return i;
}
void nox(int n)//挨個輸出(也可以加輸出“個十百千萬”位)
{
int i=sum(n);
int a;
for (;i>0;i--)
{
a = n / pow(10, i-1);
printf(" %d \n", a);
n %= (int)pow(10, i-1);
}
}
int main()
{
printf("這是一個%d位數\n",sum(123456));
nox(123456);
nix(123456);
return 0;
}
以上為執行結果。
首先,程式碼沒有都寫在主函式裡,而是把功能都拆分開,不會出現一錯都報錯的情況,再一個,是模組化,耦合度不高,我完全可以拋掉改不好的那一部分讓其餘函式先跑。
其次,是有一個統計位數的地方,再多位來都能統計,而我一開始寫的侷限性太大,超出五位數就不能使用了,想改的話也不是不能改,但是比較困難,而且會越來越複雜,不可能無限加下去,而這個就不取決於演算法寫了多少位,也是一個強點。
今天就先這些,有想法我再寫。