关于#int#的问题,如何解决?

【问题描述】编写函数int sum(int x),求整数x的各位数字之和。
编写一个程序,调用sum函数计算任一输入的整数的各位数字之和。
【输入形式】控制台输入一个整数。
【输出形式】输出一个整数,是根据该输入整数计算各位数字之笔。
【样例输入】58
【样例输出】13
【样例说明】输入整数58,其各位数字之和5+8 = 13。
【评分标准】该题要求输出一个整数。


#include<stdio.h>
int sum(int x){
    int s=0;
    while(x!=0){
        s+=(x%10);
        x/=10;
    }
    return s;
}
int main(){
    int n,k;
    scanf("%d",&n);
    k=sum(n);
    printf("%d",k);
} 

求出数字的每一位数,将其累加到sum中,最后返回sum的值

#include<stdio.h>
int sum(int a)
{
    int c,sum=0;
    while(a)
    {
        c=a%10;
        sum=sum+c;
        a=a/10;
    }
    return sum;
}
int main()
{
    int a,b;
    scanf("%d",&a);
    b=sum(a);
    printf("%d",b);
    return 0;
}


#include <stdio.h>

int main()
{

    int i;
    int j;
    int a[50] = {0};
    int n;
    int sum = 0;
    scanf("%d", &n);

    if (0 == n)
    {
        printf("0\n");
        return 0;
    }
    for (i = 1; n; ++i)
    {

        a[i] = n % 10;
        n /= 10;
    }
    --i;
    while (i)
    {
        sum += a[i];

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