首页 > 试题广场 >

求四位数各个数位之和

[编程题]求四位数各个数位之和
  • 热度指数:22005 时间限制: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 优化题面文本与格式。
print(sum(map(int,input())))
发表于 2025-06-26 22:36:12 回复(0)
x=int(input())
sum=0
for i in range(4):
    sum+=x%10
    x=x//10
print(sum)

发表于 2025-07-19 16:16:25 回复(0)
#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 <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    int tem, sum;
    tem = n;
    sum =0;
    while (tem)
    {
        int i;
        sum += tem%10;
        tem = tem/10;
    }
    cout << sum;
}
发表于 2025-07-14 23:29:32 回复(0)
#include <iostream>
using namespace std;
#include <string>

int main(){
    string s;
    cin >> s;
    int sum = 0;
    for(auto it = s.begin(); it != s.end(); it++){
       sum  = sum + (*it - '0');
    }
    cout << sum << endl;

    return 0;
}


发表于 2025-12-07 02:59:28 回复(0)
n = list(map(int,input()))
print(sum(n))

发表于 2025-11-09 22:10:10 回复(0)
#include<iostream>
using namespace std;
int main(){
    char a[5];
   cin>>a;
    printf("%d",(a[0]+a[1]+a[2]+a[3]-192));
}
发表于 2025-10-26 21:53:08 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int a = in.nextInt();
            //                  个位        十位            百位                千位
            System.out.println(a % 10 + (a % 100 / 10) + (a % 1000 / 100) + a / 1000);
        }
    }
}

发表于 2025-08-29 14:50:40 回复(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)
#include <iostream>
using namespace std;

int main() {
    string a;
    cin >> a;

    cout << ((int)a[0]-48)+((int)a[1]-48)+((int)a[2]-48)+((int)a[3]-48) ;


}

发表于 2025-07-14 11:04:28 回复(0)
#方法一:数学取模法
# a = int(input())
# b = a%10
# c = a%100//10
# d = a%1000//100
# e = a//1000
# print(b+c+d+e)

#方法二:字符串转换法
# n = input()
# print(sum(int(i) for i in n))
发表于 2025-07-13 09:26:25 回复(0)
#include <iostream>
using namespace std;

int main() {
    int a;
    cin>>a;
    int sum=0;
    while(a){
        sum+=a%10;
        a=a/10;
    }
    cout<<sum;
}
// 64 位输出请用 printf("%lld")
发表于 2026-01-08 20:59:28 回复(0)
#include <stdio.h>
int main()
{
    int x;
    scanf("%d",&x);
    int a=x/1000;
    int b=x/100%10;
    int c=x/10%10;
    int d=x%10;
    int e=a+b+c+d;
    printf("%d",e);
}


发表于 2026-01-08 19:48:23 回复(0)
#include <stdio.h>

int main() {
	int n;
	if (scanf("%d", &n) != 1) {
		return 1;
	}
	if (!(1000 <= n && n <= 9999)) {
		return 1;
	}
	printf("%d", n % 10 + n / 10 % 10 + n / 100 % 10 + n / 1000);
	return 0;
}

发表于 2026-01-06 16:37:17 回复(0)
#include <math.h>
#include <stdio.h>
int main()
{
    int a = 0;
    scanf("%d\n",&a);
    int sum = (a/1000)+(a%1000/100)+(a%1000%100/10)+(a%1000%100%10);


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

发表于 2026-01-05 15:12:12 回复(0)
#include <iostream>
#include <string>
#include <cmath>
using namespace std;

int main() {
    string n;
    cin>>n;
    int sum=0;
    for(int i=0;i<n.length();i++){
        sum+=(int)n[i]-'0';
    }
    cout<<sum;
    return 0;
}

发表于 2025-12-28 10:21:38 回复(0)
#include <iostream>
#include <cassert>

const int LIMIT_MAX = 9999;
const int LIMIT_MIN = 1000;

int modulo(int a, int b) {
return a%b;
}

int main() {
int n;
std::cin >> n;

assert(n>=LIMIT_MIN && n<=LIMIT_MAX);
std::cout << modulo(n,10) + modulo(n/10,10) + modulo(n/100,10) + modulo(n/1000,10) << std::endl;

return 0;
}
发表于 2025-12-26 16:13:02 回复(0)
x=int(input())
sum=0
for i in range(4):
    sum+=x%10
    x=x//10
print(sum)
发表于 2025-12-26 09:46:07 回复(0)
a = int(input())  # 读取整数输入
sum_digits = 0    # 初始化各位和为0
# 关键:将整数转为字符串,才能遍历每一位字符
a_str = str(abs(a))  # 转字符串+取绝对值,兼容负数
# 遍历字符串的每一位(即数字的每一位)
for digit_char in a_str:
    digit = int(digit_char)  # 字符转回整数
    sum_digits += digit      # 累加各位数字
print( sum_digits)
发表于 2025-12-22 22:56:55 回复(0)
n = int(input())
if 1000<=n<=9999 :
    a = str(n)[0]
    b = str(n)[1]
    c = str(n)[2]
    d = str(n)[3]
    s = int(a)+int(b)+int(c)+int(d)
    print(s)

# n = list(map(int,input().split()))
# print(sum(n))
发表于 2025-12-16 18:05:20 回复(0)