首页 > 其他 > 详细

第二次作业

时间:2018-12-08 20:41:29      阅读:139      评论:0      收藏:0      [点我收藏+]

  学习C++已经3个月了,在这三个月里面,我有收获但也有缺失与遗憾。

  1. 在最近的学习中,我对指针部分不是特别理解,就像指针调用函数,用指针调用二位数组等方面都不是很了解。我想,这跟我上课状态有很大的关系,觉得课程太难就注意力不能集中。在指针的学习中,我不太能理解取地址与取值在什么时候应该使用哪一个。所幸,通过观看网上公开课,我逐渐地掌握了学习的窍门。我觉得我在接下来的时间可以把对指针的漏洞给补上。

  2. 在第五章到第七章的编程题中,我觉的比较有难度的是练习7的数列求和-加强版,以下为原题目:

  

给定某数字A(1)以及非负整数N(0),求数列之和S=A+AA+AAA+?+AA?A(N个A)。例如A=1, N=3时,1。

输入格式:

输入数字A与非负整数N。

输出格式:

输出其N项数列之和S的值。

输入样例:

1 3

输出样例:

123


以及我后来解决问题的代码:

#include <iostream>
#include<cmath>
using namespace std;
int main()
{
  long long a,n,d = 0;
  int b[200000];
  cin>>a>>n;
  for(int i=0;i<n;i++)
  {
    d=(n-i)*a+d;
    b[i]=d%10;
    d/=10;
  }
  if(d)
    cout<<d;
  for(int i=n-1;i>=0;i--)
    cout<<b[i];
  if(n==0)cout<<0;

}

  我对数组中各个元素分别赋值,从大到小先算高位数再算低位数。这道题在现在看来并没有什么难度,但在当时我对数组的赋值并不能熟练地掌握,不清楚不能在没有循环的情况下直接使用cin,导致卡了很久。

  其实这道题的难点在于用我所输入的值进行计算,还有就是在于数组的循环赋值上。我相信现在面对这种题目我已经可以熟练地解出。

  编程是一个不断熟悉,不断积累的过程。只有多花时间,多打代码,才能真正地提升自己。

  共勉                            

                                   2018. 12. 08      20:21

第二次作业

原文:https://www.cnblogs.com/sherlock77/p/10088931.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!