从前有个魂淡吧 关注:15贴子:148
  • 13回复贴,共1

记录大学4年的软件生涯

取消只看楼主收藏回复

本吧为记录大学4年的软件生涯,和生活的一些琐事。重点是 将分享自己的自学经历和体会。 有兴趣自学C++的欢银来贴提问发表
书为


IP属地:福建1楼2014-09-29 21:19回复
    已经开学2个星期了 然后也学了些基础的皮毛了 接下来就是发一些做过的题目吧 。算是参考答案吧 。有兴趣的继续跟帖


    IP属地:福建3楼2014-09-29 21:23
    收起回复
      这是马老师第一个布置的作业 印象中应该是 输入a,b求长方形面积
      #include<iostream>
      using namespace std;
      int main()
      {
      double d,s,l;
      cout<<"input l:";
      cin>>l;
      cout<<"input d:";
      cin>>d;
      s=d*l;
      cout<<"Area:"<<s;
      cout<<endl;
      return 0;
      }


      IP属地:福建4楼2014-09-29 21:24
      回复
        第二个作业圆的周长及面积
        #include<iostream>
        using namespace std;
        const double PI = 3.14;
        int main()
        {
        double r, s, l;
        cout << "input r:";
        cin >> r;
        s = PI*r*r;
        l = 2 * PI*r;
        cout << "Area:" << s << " Perimeter: " << l;
        cout <<endl;
        return 0;
        }


        IP属地:福建5楼2014-09-29 21:25
        回复
          汇率作业 不同分段的计算
          #include<iostream>
          using namespace std;
          int main()
          {
          int n;
          cout <<"Enter the money: ";
          cin>>n;
          if (n<=20000)
          if(10000<=n)
          cout<<n*0.05<<endl;
          else if(5000<=n)
          cout<<n*0.03<<endl;
          else if(3000<=n)
          cout<<n*0.02<<endl;
          else cout<<"0"<<endl;
          else cout<<n*0.08<<endl;
          return 0;
          }


          IP属地:福建6楼2014-09-29 21:26
          回复
            求闰年的什么的 书本P69第10题
            #include<iostream>
            using namespace std;
            void main()
            {
            int y;
            cin >> y;
            bool result;
            result=(y % 4 == 0 && y % 100 != 0) || (y % 400 == 0);
            cout << result << endl;
            }


            IP属地:福建7楼2014-09-29 21:26
            回复
              /******************
              *输入a,b,c求根算法*
              *******************
              */#include<iostream>
              using namespace std;
              #include<cmath>
              int main()
              {
              int a, b, c,x,y,z;
              cout << "输入a,b,c";
              cin >>a>>b>>c;
              x=b*b - 4 * a*c;
              y = -b / 2 * a;
              z = sqrt(4 * a*c - b*b);
              if (x >= 0){
              cout << "实根为1=" << (-b + sqrt(b*b - 4 * a*c)) / (2 * a) << endl;
              cout << "实根为2=" << (-b - sqrt(b*b - 4 * a*c)) / (2 * a) << endl;
              }
              else
              cout << "虚根为=" <<y<<"+"<<z<<"i"<< endl;
              return 0;
              }
              这个只是显示计算简介答案正确。正确算法在下一楼 。


              IP属地:福建8楼2014-09-29 21:27
              回复
                这个就是正确完整的高级算法求根公式
                #include<stdio.h>
                #include<math.h>
                class LQuadEqu
                {
                double a,b,c; //方程为 aX^2+bX+c=0
                double ReA,ImA; //存第一个根的实部ReA, 和虚部ImA
                double ReB,ImB; //存第2个根的实部和虚部
                int rt; //rt=2有不等实根,rt=-2有不等虚根,rt=1有相等实根
                public:
                LQuadEqu(double aa,double bb, double cc);
                //getResult用来取得方程的根,输入参数为指向存放各根的变量的指针,传指针是为了改值
                //返回值为根的数目和类型 2有不等实根,-2有不等虚根,1有相等实根
                int getResult(double *pReA, double *pImA, double *pReB, double *pImB);
                };
                LQuadEqu::LQuadEqu(double aa,double bb,double cc)
                {
                a=aa;b=bb;c=cc;
                //计算公式为X=(-b+sqrt(b*b-4ac))/2/a和(-b-sqrt(b*b-4ac))/2/a
                double tmp;
                tmp = b*b-4*a*c;
                if(tmp<0)
                { //有不等虚根
                rt=-2;
                ReA = ReB = -b/2.0/a;
                ImA = sqrt(-tmp)/2.0/a;
                ImB = -ImA;
                }
                else if(tmp>0)
                { //有不等实根
                rt=2;
                ImA=ImB=0;
                ReA=(-b+sqrt(tmp))/2.0/a;
                ReB=(-b-sqrt(tmp))/2.0/a;
                }
                else
                { //tmp==0 有相等实根
                rt=1;
                ImA=ImB=0;
                ReA=ReB=-b/2.0/a;
                }
                }
                int LQuadEqu::getResult(double *pReA, double *pImA, double *pReB, double *pImB)
                {
                *pReA=ReA; *pImA=ImA; *pReB=ReB; *pImB=ImB;
                return rt;
                }
                void main ( )
                {
                double a,b,c,reA,imA,reB,imB;
                int r;
                printf("输入二次方程的参数a b c\n");
                scanf("%lf%lf%lf",&a,&b,&c);
                printf("方程%f X^2 + %f X + %f\n",a,b,c);
                LQuadEqu lqe(a,b,c); //生成,计算
                r = lqe.getResult(&reA,&imA,&reB,&imB); //取结果
                if( r==2 )
                printf("有两个不相等实根 %f %f\n",reA,reB);
                else if( r==-2 )
                printf("有两个不相等虚根 (%f,%fi) (%f,%fi)\n",reA,imA,reB,imB);
                else
                printf("有两个相等实根 %f\n",reA);
                getchar(); //使用者按任意键结束
                }
                看不看得懂就不重要的 以后会懂得 Lz也不能完全弄懂


                IP属地:福建9楼2014-09-29 21:29
                收起回复
                  国庆前的一个小作业 类似于简易计算器的 输入一个简单的算法格式然后回车得出答案
                  #include<iostream>
                  using namespace std;
                  char op;
                  int main()
                  {
                  int a, b;
                  cin >> a >> op >> b;
                  switch (op)
                  {
                  case *+*: cout << a + b << endl; break;
                  case *-*:cout << a - b << endl; break;
                  case ***:cout << a * b << endl; break;
                  case */*:cout << a / b << endl; break;
                  case *%*:cout << a % b << endl; break;
                  default:
                  cout << "输入格式错误" << endl;
                  }
                  }
                  跟一个完整的计算器 来比 就缺了点东西 (不过相对比较复杂)以后再更


                  IP属地:福建10楼2014-09-29 21:31
                  收起回复
                    同上的国庆前小作业之一虽然没有什么技术含量 不过有兴趣的同学可以参考下格式
                    #include <iostream>
                    using namespace std;
                    void main()
                    {
                    int n;
                    cout << "Enter the score: ";
                    cin >> n;
                    if (n<0 || n > 100)
                    cout << "score if flase" << endl;
                    else if (n >= 60)
                    {
                    if (n >= 90)
                    cout << "The degree is A " << endl;
                    else if (n >= 80)
                    cout << "The degree is B " << endl;
                    else if (n >= 70)
                    cout << "The degree is C " << endl;
                    else if (n > 60)
                    cout << "The degree is D " << endl;
                    }
                    else
                    cout << "The degree is F " << endl;
                    cout << "score if flase" << endl;
                    }


                    IP属地:福建11楼2014-09-29 21:32
                    回复
                      马老师上课说什么有同学要课本答案 还有说了一些废话 到头来就是觉得我们就是想要答案抄的感觉 说的那个人就是我。不过不重要了 他没有就算了 ,我自己解决了。
                      书本P18页答案
                      1D 2B 3D 4C 5D 6D 7B
                      应该是没有错 有问题可以@我大题答案有空再整理吧。而且那些也没啥技术含量 就过了把。 P17的填空题 还是认真找一遍吧 对以后笔试考试还是有点用的。 内容也差不多是那些。。。。考研的什么的 好像也有点 具体我不太清楚。。。。。


                      IP属地:福建13楼2014-09-29 21:43
                      回复
                        第二章第三章 答案正在更新中 具体能不能完全正确 还待考察。 过几天整理好再发吧。。。。。。


                        IP属地:福建14楼2014-09-29 21:44
                        回复


                          IP属地:福建来自iPhone客户端15楼2014-10-02 00:07
                          回复
                            。。


                            IP属地:福建16楼2014-10-04 12:28
                            回复