首页 > 解决方案 > 循环求和字符串 C 中的数字

问题描述

我有一个程序可以对字符串中的数字求和。但是我需要循环来进行求和,而它不是一个密码数。例如,我的输入是数字 12345。总和是 15 (1+2+3+4+5),这个数字 15 必须再求和一次,输出必须是 6。(5+1)。它应该适用于任何数字。感谢帮助。

int main() {

    char string[100000];
    int i;
    int sum=0;


    scanf("%s", string);


    for(i = 0; string[i] != '\0'; i++){
        sum += (string[i] - '0');
    }

    printf("%d\n", sum);
    return 0; 
}

标签: c

解决方案


int n = atoi(string);
printf("Sum of digits is %d\n", (!(n%9) && n) ? 9 : n%9);

有关完整详细信息,请参阅给定正数的所有数字之和。

IDEOne 链接


推荐阅读