您的位置:首页 > 编程语言 > C语言/C++

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

2016-02-06 16:26 447 查看

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;
}


所想:题目要认真看,看不懂就猜,猜着猜着就出来了(至今没搞懂这多项式的加法还能这么算,但题目就是这个意思)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: