C++远征之起航篇

章节介绍:

每章小结:

  • 第一章:C++诞生于贝尔实验室,C++包含C语言。

  • 第二章:介绍了IDE环境(虽然没怎么懂),还推荐使用visual stdio 2010 旗舰版(姑且下了安装包,但还是在用devC++)。

  • 第三章:见到了一些新的东西(原来看不懂一些同学的代码,原来就是C++啊):

      #include<stdlib.h>
    #include<iostream>
    using namespace std;
    int main()
    {
    cout<<"Hello C++"<<endl;
    system("pause");
    return 0;
    }
  • 第四章:一看就知道是重点章节啊。

  • C++的新特性:1、新的数据类型:布尔型(bool),也叫逻辑类型,优点是会让代码更简洁,更易懂。2、新的初始化方法:直接初始化,也就是int x(1024);这样,至于好处会在接下来的课程中介绍,姑且先记着。3、随用随定义:这个好处就不用说了,for(int i;;)也是合法的(用c的时候老是忘记定义i)。

  • C++的输入输出方式:cin和cout,也是很好记。使用除了要声明#include<iostream>,还要有using namespce std;(因为没有.h吗,像要用system("pause");,直接#include<stdlib.h>就好)。输入一个量存到变量x里,只要cin>>x;,不需要再强调量的类型(话说定义x的时候还是要考虑类型不是)。输出也是直接cout<<x<<endl;,endl就相当于\n,当然也可以按要求的类型输出,像cout<<det<<x<<endl;就是按十进制输出。

  • C++之namespace:感觉是个很重要的东西,这样调用不同函数里相同名称的东西也没问题。定义函数的时候加上namespace 空间名{}就好。使用的时候可以先声明说using namespace 空间名;,或者用到的时候加上空间名::。像输入输出没写using namespace std;的话,就要写成std::cin>>x;,std::cout<<x<<std::endl;

练习:

  • C++

      #include<stdlib.h>
    #include<iostream>
    using namespace std;
    int main()
    {
    int x,y;
    cin>>x>>y;
    cout<<x+y<<endl;
    system("pause");
    return 0;
    }
  • C

    题目:



    思路:题目看了半天也没怎么懂,只知道是多项式的加法运算。还有输入有两行,每行输入的第一个数决定了每行要输入的组数。一组有两个数,分别表示多项式每项的次数和系数(反正就是要对应相加的意思,从样例大概来看是这样)。想到这里我又想到用数组来解决:先定义一个足够长的数组(题目是0~1000,那就1001),并初始化为0,储存第一行时把次数和数组名对应起来,再定义一个数组一样存第二行,这样就可以把对应的数相加。考虑到输出,还要记录一下最高的次数是多少(我认为是从最高次数按顺序倒输,样例是这样的,看不懂就猜。。。)。还有就是小数的问题要注意数据类型,输出也是要控制%.1lf。再有就是输出的格式,注意空格。第一次尝试样例是过了,但交上去只对了两个。重新看题目注意到了要非零,所以也不一定是按顺序倒输,还要有一个判断才行。最终的代码长这样:

      #include<stdio.h>
    int main()
    {
    int k,i,j=0,x,max=0;
    double a[1001],b[1001]; scanf("%d",&k);
    for(i=0;i<k;i++)
    {
    scanf("%d",&x);
    if(x>max)max=x;
    scanf("%lf",&a[x]);
    }
    //对应输入第一行数据,max记录第一行最高次数。
    scanf("%d",&k);
    for(i=0;i<k;i++)
    {
    scanf("%d",&x);
    if(x>max)max=x;
    scanf("%lf",&b[x]);
    }
    //对应输入第二行数据,max记录两行中最高的次数。
    for(i=0;i<max+1;i++)
    {
    b[i]=b[i]+a[i];
    if(b[i]!=0)j++;
    }
    //利用max对应次数相加,j记录非零个数。
    printf("%d",j);
    //按要求输出结果中的非零个数。
    for(i=max;i>=0;i--)
    {
    if(b[i]!=0) printf(" %d %.1lf",i,b[i]);
    }
    //判断并从最高次数开始输出结果。
    return 0;
    }
  • 所想:题目要认真看,看不懂就猜,猜着猜着就出来了(至今没搞懂这多项式的加法还能这么算,但题目就是这个意思)。

C++视频课程小结(1)的更多相关文章

  1. C++视频课程小结(3)

    C++远征之封装篇(上) 章节介绍: 每章小结: 第一章:课程介绍. 按照惯例是章节的总介绍,内容明显多了很多(为了做作业我还要赶进度的说),主要说了:类和对象是本章的主角,然后还有很多配角,像数据成 ...

  2. C++视频课程小结(2)

    C++远征之离港篇 章节介绍: 每章小结: 第一章:大致讲了一下本章会讲的内容:引用vs指针.const vs #define(这个我在C里都没用过).函数变得更强大.内存管理要小心之类的. 第二章: ...

  3. 慕课网:剑指Java面试-Offer直通车视频课程

    慕课网:剑指Java面试-Offer直通车视频课程,一共有10个章节. 目录结构如下: 目录:/2020036-慕课网:剑指Java面试-Offer直通车 [6G] ┣━━第10章 Java常用类库与 ...

  4. DDD建模案例----“视频课程”场景

    接触领域驱动设计DDD有一年多的时间了,中间看过不少书,参与过一些讨论(ENode QQ群).目前对DDD的认知还停留在理论阶段,所以对领域建模非常感兴趣,这里说的建模是指以DDD的思想为指导再加上D ...

  5. Asp.NET Core2.0 项目实战入门视频课程_完整版

    END OR START? 看到这个标题,你开不开心,激不激动呢? 没错,.net core的入门课程已经完毕了.52ABP.School项目从11月19日,第一章视频的试录制,到今天完整版出炉,离不 ...

  6. 【学习记录】第一章 数据库设计-《SQL Server数据库设计和开发基础篇视频课程》

    一.课程笔记 1.1  软件开发周期 (1)需求分析阶段 分析客户的业务和数据处理需求. (2)概要设计阶段 设计数据库的E-R模型图,确认需求信息的正确和完整. /* E-R图:实体-关系图(Ent ...

  7. 《Python从菜鸟到高手》已经出版,开始连载了,购买送视频课程

    好消息,<Python从菜鸟到高手>已经出版!!!   JetBrains官方推荐图书!JetBrains官大中华区市场部经理赵磊作序!送2400分钟同步视频课程!500个案例,400道P ...

  8. Spring Boot 实战与原理分析视频课程

    Spring Boot 实战与原理分析视频课程 链接:https://pan.baidu.com/share/init?surl=PeykcoeqZtd1d9lN9V_F-A 提取码: 关注公众号[G ...

  9. C++视频课程

    一.视频课程 课程名称:C++学习教程 程序设计 C++基础教程 授课人:郭宏志 课程链接:http://study.163.com/course/courseMain.htm?courseId=63 ...

随机推荐

  1. mongodb主从复制

    1)主服务器--master --port 20001 2)从服务器--slave --source 127.0.0.1:20001 --port 20002 注释:--master 以主服务器形式启 ...

  2. hdu 1885 Key Task(bfs+位运算)

    题意:矩阵中'#'表示墙,'.'表示通路,要求从起点'*'到达终点'X',途中可能遇到一些门(大写字母),要想经过,必须有对应的钥匙(小写字母).问能否完成,若能,花费的时间是多少. 分析:同hdu ...

  3. BZOJ 3624 免费道路

    第一反应:这不先0后1做并查集就行了吗? 然后WA了... 哦....啊?哦...233 如果按顺序做并查集,有些0的边可能很重要(只能由它作为0连起两个联通块),但并没有被选. 于是先按1做并查集, ...

  4. MySQL的性能调优工具:比mysqlreport更方便的tuning-primer.sh

    年初的时候收藏过一篇关于mysqlreport的报表解读,和内置的show status,和show variables相比mysqlreport输出一个可读性更好的报表:但Sundry MySQL提 ...

  5. 20160204.CCPP体系详解(0014天)

    程序片段(01):define.h+data.h&data.c+control.h&control.c+view.h&view.c+AI.h&AI.c+main.c 内 ...

  6. Heritrix源码分析(十四) 如何让Heritrix不间断的抓取(转)

    欢迎加入Heritrix群(QQ):109148319,10447185 , Lucene/Solr群(QQ) :  118972724 本博客已迁移到本人独立博客: http://www.yun5u ...

  7. javamail模拟邮箱功能--邮件删除-中级实战篇【邮件标记方法】(javamail API电子邮件实例)

    前言: JavaMail jar包下载地址:http://java.sun.com/products/javamail/downloads/index.html 本章可能是讲解javamail的最后一 ...

  8. Node.js 连接 MySQL 并进行数据库操作

    Node.js 连接 MySQL 并进行数据库操作  按照这篇操作mysql的指引,我远程操作了我另一台电脑的mysql数据库. var mysql = require('mysql'); var c ...

  9. JSTL笔记(胖先生版)

    今天系统的学习了一下jstl,来记录一下. 在学习jstl以前,先要引两个jar包,然后再加入标签: <%@ taglib prefix="c" uri="http ...

  10. hdu 5444 Elven Postman(根据先序遍历和中序遍历求后序遍历)2015 ACM/ICPC Asia Regional Changchun Online

    很坑的一道题,读了半天才读懂题,手忙脚乱的写完(套上模板+修改模板),然后RE到死…… 题意: 题面上告诉了我们这是一棵二叉树,然后告诉了我们它的先序遍历,然后,没了……没了! 反复读题,终于在偶然间 ...