题目描述
求输入的一个正整数的各位数字之和
输入
一行一个整数
输出
一个整数
样例输入 Copy
<code>2147483646/<code>
样例输出 Copy
<code>45/<code>
【算法分析】
对于单精度数,可以采用拆数的方法取得每一位直接累加(见程序一);对于大数据(比如整数大于21亿)可以采用字符串来处理(程序二)。
<code>//程序一
#include <bits>
using namespace std;
int main()
{
\tint n,sum=0;
\tcin>>n;
\tfor(int i=1;n>0;i++)
\t{
\t\tsum=sum+n%10;//利用n%10循环取得每一位数字
\t\tn=n/10;
\t}
\tcout<\treturn 0; /<bits>/<code>
}
////程序二
#include <bits>
using namespace std;
int main()
{
\tstring s;
\tcin>>s;
\tint sum=0;
\tfor(int i=0;i<s.size> \t{
\t\tsum+=(s[i]-'0');\t//s[i]-'0'即为每一位数字
\t}
\tcout<\treturn 0; /<s.size>/<bits>
}
閱讀更多 機房日子 的文章