数列分段(201509-1)———附带思路和完整代码

0 效果

在这里插入图片描述

1 题目

在这里插入图片描述

2 思路

  • 方法一:
    对于输入的数字使用除基(基数为10)取余数法,累加余数值,每次运算完后,原数除以10(相当于右移一位)。
  • 方法二:
    将输入的数字转为字符串,然后从高到低或者从低到高累加每位的值。

3 代码

法一:

#include<cstdio>
int main(){
	int n,  ans = 0;
	scanf("%d", &n);
	do{
		ans += (n % 10);
		n /= 10;	
	}while(n != 0);
	printf("%d", ans);
	return 0;
}

法二:

#include<cstdio>
#include<string>
#include<sstream>
std::string i2s(int n){
	std::stringstream s;
	s << n;
	return s.str();
} 
int main(){
	int n,  ans = 0;
	scanf("%d", &n);
	//std::string str = std::to_string(n);//会报错
	std::string str = i2s(n);
	for(std::string::iterator i = str.begin(); i != str.end(); i++){
		ans += ((*i) - '0'); 
	}
	printf("%d", ans);
	return 0;
}
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 岁月 设计师:pinMode 返回首页