#include<bits/stdc++.h> using namespace std; int main(){ int n,a; cin>>n; if (n < 0) n = -n; if (n == 0) { cout << "0 1" << endl; return 0; } int s=0; int c=0; while (n > 0) { s += n % 10;
n/=10; c++; } cout<<s<<" "<<c<<endl; return 0; } /*题目描述 编程实现,输入一个正整数,输出它的各个数位之和并输出该数的位数。 如789的数位之和是24,位数为3。 输入 输入一个正整数

输出 输出两个数,即各个数位之和,输出该数的位数

输入样例 789

输出样例 24 3

题解: #include using namespace std; int main() { long long n; // 使用long long防止大整数溢出 cin >> n; // 处理负数和零的情况 if (n < 0) n = -n; // 负数转为正数 if (n == 0) { cout << "0 1" << endl; return 0; } int sum = 0; int count = 0;

// 计算各位数字之和与位数
while (n > 0) {
    sum += n % 10;  // 取最后一位数字
    n /= 10;        // 移除最后一位
    count++;
}
cout << sum << " " << count << endl;
return 0;

} */

0 条评论

目前还没有评论...

信息

ID
712
时间
1000ms
内存
256MiB
难度
4
标签
(无)
递交数
501
已通过
222
上传者