c语言各个位数之和如何计算

868
2024/10/11 18:31:12
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C语言中,要计算一个整数的各个位数之和,你可以使用以下方法:

  1. 将整数转换为字符串。
  2. 遍历字符串中的每个字符。
  3. 将每个字符转换回整数,并将其累加到总和中。

下面是一个示例函数,用于计算整数的各个位数之和:

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

int sum_of_digits(int n) {
    int sum = 0;
    char str[12]; // 用于存储整数的字符串表示,最多为11位加上一个空字符

    // 将整数转换为字符串
    sprintf(str, "%d", n);

    // 遍历字符串中的每个字符
    for (int i = 0; str[i] != '\0'; i++) {
        // 将字符转换回整数,并将其累加到总和中
        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函数接受一个整数n作为参数,将其转换为字符串,然后遍历字符串中的每个字符,将其转换回整数并累加到总和中。最后,函数返回各个位数之和。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: C语言ifdef的使用方法是什么