zoukankan      html  css  js  c++  java
  • 第二次作业

    薄弱点:字符数组的字符串处理函数不能清楚的记得有哪几个,结构体,共用体和枚举类型这一块的学习还不够透彻。比如在做PTAcpp8的编程题时,就因为结构体使用不熟练等问题做了很长时间。而且还有一些基础理论方面的知识掌握不透彻,就像中段考时客观题错了一半。

    Cpp7 第二道编程题。

    题目要求输入A,N两个数,计算,S=A+AA+AAA……..+A…….A(N个A),的求和。

    思路是设置一个数组用来存放S的每一位数。同时数组的赋值要从后往前赋值,设置两个数b,c,t并赋初值,b用来做新数组的下标,c用作中间值。通过t=i*A+c,R[b]=t%10,c=t/10和后面的if语句对数组R[]进行赋值,这样是代码更加简洁明了,更高效地运行。最主要的难点就是对新数组R[]的赋值,t=i*A+c,R[b]=t%10,c=t/10这三个语句是解题的关键所在。

    #include<iostream>

    using namespace std;

    int main()

    {

           int A,N;

           cin>>A>>N;

           int R[N+2];

           R[1]=0;

           int b=1,c=0;

           for(int i=N;i>=1;i--)

           {

                  int t=i*A+c;

                  R[b]=t%10;

                  c=t/10;

                  if(i>1)

                  b++;

                  else if(c)

                  R[++b]=c;

           }

           for(int i=b;i>=1;i--)

           cout<<R[i];

           return 0;

    }

    存在的问题:核心代码的那部分想了很久才想出来这种高效的方法,同时题目中有一个隐藏的条件就是输出末尾不能有空格,最后只能重新设置一个for语句重新输出,去掉空格。

  • 相关阅读:
    docker 笔记
    XML解析
    P1047 校门外的树
    4829 [DP]数字三角形升级版
    1996 矿场搭建
    5524 割点
    4817 江哥的dp题d
    4809 江哥的dp题c
    4816 江哥的dp题b
    4815 江哥的dp题a
  • 原文地址:https://www.cnblogs.com/SHXT/p/10080253.html
Copyright © 2011-2022 走看看