首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言實作:計算長整數各位數字之和

     編輯:關於C語言

數字位數拆解與加總

本程式示範如何使用取餘數 (%) 與整數除法 (/) 將一個正整數的每一位數字拆解並累加,求出所有位數之和。

問題描述

輸入一個大於或等於 10 的整數,計算其各位數字之和。例如輸入 12345,輸出 1+2+3+4+5=15。

核心演算法

  • 使用暫存變數 re_num 保存原始輸入,避免修改原值。
  • while (re_num) 迴圈,條件為 re_num != 0。
  • 每次迴圈:
    sum += re_num % 10 取得個位數並加總。
    re_num /= 10 去除個位數。
  • 迴圈結束時 re_num 變為 0,完成所有位數處理。

完整程式碼

/* 程式標頭註解 */
#include <stdio.h>

void star(void);

int main()
{
    int num, re_num, sum = 0;

    star();
    printf("輸入一個大於或者等於10的整數:");
    scanf("%d", &num);

    re_num = num;
    while(re_num)
    {
        sum += re_num % 10;
        re_num /= 10;
    }

    printf("\n%d的各位之和為%d.\n", num, sum);
    printf("\n哈哈, 謝謝您的合作!\nGOOD BYE!\n");
    star();
    return 0;
}

void star(void)
{
    int i;
    for(i = 0; i < 60; i++) printf("*");
    printf("\n");
}

執行結果示意

各位數字加總執行結果

注意事項與延伸

  • 若輸入為負數,% 在 C99 中結果為負,需先取絕對值或轉為無號整數處理。
  • 可擴充為計算各位數字乘積、統計各數字出現次數等。
  • 對於超大整數(超過 long long 範圍),需以字串處理逐字元轉換加總。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved