溫馨提示×

c語言各個位數(shù)之和如何計算

小億
106
2024-10-11 17:44:15
欄目: 編程語言

在C語言中,要計算一個整數(shù)的各個位數(shù)之和,你可以使用以下方法:

  1. 將整數(shù)轉(zhuǎn)換為字符串。
  2. 遍歷字符串中的每個字符。
  3. 將每個字符轉(zhuǎn)換回整數(shù),并將其累加到總和中。

下面是一個示例函數(shù),用于計算整數(shù)的各個位數(shù)之和:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int sum_of_digits(int n) {
    int sum = 0;
    char str[12]; // 用于存儲整數(shù)的字符串表示,最多為11位加上一個空字符

    // 將整數(shù)轉(zhuǎn)換為字符串
    sprintf(str, "%d", n);

    // 遍歷字符串中的每個字符
    for (int i = 0; str[i] != '\0'; i++) {
        // 將字符轉(zhuǎn)換回整數(shù),并將其累加到總和中
        sum += str[i] - '0';
    }

    return sum;
}

int main() {
    int n = 12345;
    int sum = sum_of_digits(n);
    printf("Sum of digits of %d is %d\n", n, sum);
    return 0;
}

在這個示例中,sum_of_digits函數(shù)接受一個整數(shù)n作為參數(shù),將其轉(zhuǎn)換為字符串,然后遍歷字符串中的每個字符,將其轉(zhuǎn)換回整數(shù)并累加到總和中。最后,函數(shù)返回各個位數(shù)之和。

0