解题思路:
输入n,用n来计数,每当n减一,就往字符串s末尾附加一个2,再把此时的s转换为整型,累积到和里,最后把该和输出即可。
两个点:
一、
在C++中可以用+直接在string后追加char字符
例:
string s;
s = s + 'a' + 'b' + 'c';
二、
这里又用到了字符串转数字,详细可以看我这篇题解-->https://blog.dotcpp.com/a/75675
但这题有点需要注意的是每次都需要对stringstream流进行清空,原因在于在对同一个stringstream对象重复赋值,就需要先对流使用clear()函数清空流的状态,不然之前的缓冲就停留在输入输出流中。
参考代码:
#include
int main()
{
string s;
int n,sum=0,num;
stringstream ss;
cin>>n;
while(n!=0){
s=s+'2'; //每次都在s后加一个2,例:n=5,s=2 / n=4,s=22 / n=3,s=222 / n=2,s=2222 / n=1,s=22222 / n=0,循环结束
n--;
ss<<s;
ss>>num; //把该s转换为整型,就可以进行算数计算了
sum=sum+num;
num=0;
ss.clear();
}
cout<<sum;
return 0;
}
第二篇题解,请多指教。
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复