解题思路:

输入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分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论