首页 > 试题广场 >

求四位数各个数位之和

[编程题]求四位数各个数位之和
  • 热度指数:18451 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}给定一个四位整数 n1000 \leqq n \leqq 9999),请计算该整数各个数位之和。

输入描述:
\hspace{15pt}在一行中输入一个四位整数 n1000 \leqq n \leqq 9999)。


输出描述:
\hspace{15pt}输出一个整数,表示 n 的各个位数之和。
示例1

输入

1270

输出

10

说明

0+7+2+1 = 10
示例2

输入

9999

输出

36

说明

9999 的各位数字之和 9+9+9+9=36

备注:
本题已于下方时间节点更新,请注意题解时效性:
1. 2025-06-03 优化题面文本与格式。
#include<stdio.h>
int main()
{
    int a,b,c,d;
    scanf("%1d%1d%1d%1d",&a,&b,&c,&d);
    printf("%d",a+b+c+d);
    return 0;
}   //朴实无华

发表于 今天 10:53:19 回复(0)
#include <stdio.h>
int main() {
    int arr[4],n,b=0,sum;
    scanf("%d",&n);
	arr[0] = n % 10;     
    arr[1] = n / 10 % 10;  
    arr[2] = n / 100 % 10; 
    arr[3] = n / 1000;    
	for(sum=0;b<4;b++)
		sum+=arr[b];
    printf("%d",sum);
    
    return 0;
}

发表于 2025-11-11 21:52:11 回复(0)
#include <stdio.h>

int main() {
    int n;
    scanf("%d",&n);
    printf("%d",n%10+n%100/10+n%1000/100+n%10000/1000);
    return 0;
}
发表于 2025-10-15 20:22:35 回复(0)
爱递归的365天,欧耶

#include <stdio.h>

int main() {
    void Isum(int n,int* sum);
    int n;

// 错误类型一
    // int *sum;//指针未初始化:int *sum; 只声明了指针,但未指向它指向实际内存空间,它的值是一个随机的垃圾地址。

//  错误类型二
    // int* sum;
    // int total=0;// 定义一个实际的变量存储总和
    // *sum=total;
    // 这种写法是错误的,它试图给一个未初始化的指针所指向的内存赋值,而不是让指针指向 total 变量。

    int* sum;
    int total=0;
    sum=&total;
   // 让指针指向这个变量的地址(初始化指针),,让指针指向变量的地址

    scanf("%d",&n);
    Isum(n,sum);
    printf("%d",*sum);
    return 0;

}
void Isum(int n,int *sum){
    if(n>0){
        *sum+=n%10;
        Isum(n/10,sum);
    }
    else{
        return ;
    }
}

发表于 2025-09-28 15:08:05 回复(1)
#include <stdio.h>

int main() {
    
    int n = 0, sum = 0;

    scanf("%d", &n);

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

    printf("%d", sum);

    return 0;
}

发表于 2025-08-05 19:10:38 回复(0)
#include <stdio.h>

int main() {
    int a;
    int c = 0;
    int b[256];
    scanf("%d",&a);

   

    for (int i= 3 ; i >= 0; --i) {
        b[i] = a%10;
        a = a/10;
    }
    for(int i = 0 ; i < 4 ; ++i){
        c = b[i] + c;
    }
    printf("%d",c);

    return 0;
}
发表于 2025-08-04 19:57:34 回复(3)