龙空技术网

c++刷题基础篇:各位数字之和

信息学教练农夫约翰 119

前言:

当前大家对“编写一个程序用户输入一个正整数把它的各位数字”大体比较讲究,各位老铁们都需要剖析一些“编写一个程序用户输入一个正整数把它的各位数字”的相关文章。那么小编也在网摘上汇集了一些关于“编写一个程序用户输入一个正整数把它的各位数字””的相关内容,希望大家能喜欢,大家一起来学习一下吧!

题目描述

求输入的一个正整数的各位数字之和

输入

一行一个整数

输出

一个整数

样例输入 Copy

2147483646
样例输出 Copy
45
【算法分析】对于单精度数,可以采用拆数的方法取得每一位直接累加(见程序一);对于大数据(比如整数大于21亿)可以采用字符串来处理(程序二)。
//程序一 #include <bits/stdc++.h>using namespace std;int main(){	int n,sum=0;	cin>>n;	for(int i=1;n>0;i++)	{		sum=sum+n%10;//利用n%10循环取得每一位数字 		n=n/10;	}	cout<<sum;	return 0;}////程序二#include <bits/stdc++.h>using namespace std;int main(){ 	string s; 	cin>>s; 	int sum=0; 	for(int i=0;i<s.size();i++) 	{ 		sum+=(s[i]-'0');	//s[i]-'0'即为每一位数字 	}	cout<<sum; 	return 0;}

程序一运行结果,适用单精度数

程序二运行结果,测试数据超出程序一数据范围,只使用程序二

标签: #编写一个程序用户输入一个正整数把它的各位数字