(完整版)信息学奥赛简介NOIP及C++基础知识第一讲_第1页
(完整版)信息学奥赛简介NOIP及C++基础知识第一讲_第2页
(完整版)信息学奥赛简介NOIP及C++基础知识第一讲_第3页
(完整版)信息学奥赛简介NOIP及C++基础知识第一讲_第4页
(完整版)信息学奥赛简介NOIP及C++基础知识第一讲_第5页
已阅读5页,还剩89页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基础知识第一讲C++基础知识目录信息学奥赛介绍体验算法与程序设计基础知识一.信息学奥林匹克竞赛介绍面向全国中学生的一种竞赛活动旨在激发中学生在计算机科学方面的兴趣培养他们的逻辑思维能力给那些有才华的学生提供相互交流和学习的机会通过竞赛和相关的活动培养和选拔优秀的计算机后备人才。信息学奥林匹克竞赛赛事:1.NOIP(全国信息学奥林匹克联赛)

NationalOlympiadinInformaticsinProvinces

2.NOI(全国信息学奥林匹克竞赛)

NationalOlympiadinInformatics3.IOI(国际信息学奥林匹克竞赛)

InternationalOlympiadinInformatics

NOIP联赛初赛:10月中旬(周六/周日下午2:30-4:30)笔试(100分)资格赛,地市独立组织(全国统一命题,统一时间)复赛:11月份中旬(第二周,周六周日上午3.5个小时)上机编程两试:每试3个题目,300分,共600分。提交源程序,黑盒子测试法一种选拔性竞赛不是一般计算机知识的普及。兴趣能力勤奋如何学好信息学奥林匹克竞赛学习内容:掌握一门计算机程序设计语言

(Pascal/C/C++)数据结构(线性表、树、图等)算法(搜索、图论、动规等)什么是算法?算法:解决某一类问题的方法和步骤。比如:渡河问题

一个农夫,要过河,他有一棵白菜,一只狼和一只羊。一次船上农夫只能带一个东西。羊和白菜,狼和羊不能在一起。请你找出一种最快的过河方法?渡河的方法与步骤:第一步:农夫带

过河第二步:农夫划船回来第三步:农夫带

过河……猜数字(1..1000)回答大了或小了猜生日?月?日?二分法每次舍弃“一半”不符合条件的情况,逐渐缩小范围,最后找到问题的解枚举算法基本思想:按照问题本身的性质,一一列举出该问题所有可能的解,并根据问题的条件对各解进行逐个检验,从中挑选出符合条件的解,舍弃不符合条件的解。

多动手、模仿是捷径勤思考、实践是王道二.体验算法与程序设计(C++语言)引例1:最简单的程序:输出:Helloworld!【参考程序】#include<cstdio>intmain(){ printf("Helloword!"); return0;}提示:所有的代码都要在英状态输入。如何编写调试代码?(1)双击,打开c++编译器;(2)文件/新建源代码;(3)F11:保存并运行程序。友情提示:可以在桌面上建立一个以自己的名字命名的文件夹,用来保存程序。【问题分析】:

正方形的面积等于边长乘以边长;

【算法设计】:正方形的边长用a表示,面积用s表示。引例2:计算正方形的面积【参考程序】#include<cstdio>intmain(){ inta,s; scanf("%d",&a); s=a*a; printf("%d",s); return0;}【问题分析】:

周长等于边长的4倍。【算法设计】:正方形的边长用a表示,周长用c表示。引例2拓展:计算正方形的周长【参考程序】#include<cstdio>intmain(){ inta,c; scanf("%d",&a); c=4*a; printf("%d",c); return0;}三、基础知识例1:从键盘输入两个正整数a,b,求出两数字之和。#include<cstdio>intmain(){ inta,b; scanf("%d%d",&a,&b); printf("%d",a+b); return0;}提示:所有的代码都要在英状态输入。样例输入1:1820样例输入2:5000090000样例输入3:123456789987654321样例输入4:12345678901234567890

例1:程序解释#include<cstdio>//预处理命令。//使用printf/scanf须调用cstdio库,否则编译出错intmain(){//主函数 inta,b;//定义了a,b两个整型变量 scanf(“%d%d”,&a,&b);//读取键盘输入,并存到变量a、b printf(“%d”,a+b);//输出a+b的值return0;//结束整个程序,返回0,每个主程序都必有。

}说明(1)以“//”开头为注释行,“//”后的内容用以对语句进行说明,不运行,无需输入。(2)上面的程序中共有4条语句,每条语句必须以分号“;”作为结束。(3)第一条语句“inta,b;”定义了2个int类型(整数型)的变量a,b,c,变量之间用逗号隔开,最后用分号结束。知识点1:格式化输入函数scanf格式:scanf("格式化字符串",地址列表);说明:

1)地址列表中给出各变量的地址(即变量名的前面加“&”符号)。

2)格式控制符由%和格式符组成,作用是将要输入的字符按指定的格式输入,如%d,%lf等3)格式字符和和变量的类型一一对应:类型和个数一致。知识点2:格式化输出函数printf格式:

printf("格式控制字符串",变量列表);说明:(1)格式说明由%和格式字符组成,作用是将要输出的字符转换为指定的格式,如%d,%c等。(2)输出列表是需要输出的一组数据,各参数之间用“,”分开。(3)格式说明和各输出项在数量和类型上要一一对应。(4)格式字符串中可以有空格或提示信息,回车符“\n”等。输入半径r,输出圆的面积s,保留3位小数。样例输入:

3样例输出:28.274提示:实型用double来定义假设:π=3.14159读取数据的代码:scanf("%lf",&r);例2:圆的面积#include<cstdio>constdoublePI=3.14159;intmain(){doubler,s;//定义实型变量

scanf("%lf",&r);//输入r的值,&符号不能漏掉

s=PI*r*r;//计算圆的面积

printf("%.2lf\n",s);//显示计算结果,结果保留2位小数

return0;}【说明】:

1、程序中定义的PI代表常量3.14159,在编译源程序时,遇到PI就用常量3.14159代替,PI可以和常量一样进行运算。C++语言规定,每个符号常量的定义占据一个书写行,而且符号常量不能被再赋值。如果在上例中使用以下赋值语句是错误的。PI=3.1415926;2、习惯上,符号常量名用大写,而变量名用小写,以便于区别。知识点3:常量的概念及分类常量:

是指在程序中使用的一些具体的数、字符。在程序运行过程中,其值不能被更改。如123,145.88,'m',TRUE等。1、整型常量:如3、-5、0等。整型常量是表示整数的常量。有三种表示形式:

1)十进制形式。如99、-1。

2)八进制形式。以数字0打头,由0-7构成,如012,表示八进制整数12,即12(8)。

3)十六进制形式。以0x打头,如0x12A,表示十六进制整数12A,即12A(16)。2、实型常量:如3.1、-6.1E+2(科学记数法)。3、字符常量:是用单引号括起来的字符,如'k'、'5'、'%'。注意:'a'与"a"表示的含义是不同的,'a'表示一个字符常量,"a"表示一个字符串。

2、常量的说明一个常量可以直接调用(如124,'A'),也可以给常量取个名字用一个标识符代表它,这就是符号常量。其语法格式为:

const符号常量=常量字串;

例如:constdoublePI=3.1415926;知识点4:变量的定义格式:

数据类型<变量名列表>例如:

inta,b;//定义a,b为整型变量,

doublex=5.9,y,z;//定义x,y,z为实型变量;x赋初值为5.9,y,z的初值未知。变量需要先定义后使用。变量的命名规则:一般是字母和数字的组合,如:a,i,sum,x1,x2。但不能与关键字重名。在定义变量的同时可以为变量赋初值。变量名大小写有区别例如:

intS,s//定义了大S和小s两个变量例2.输入三角形的三边a,b,c。求三角形的面积s

(a,b,c是实数<100,满足三角形条件,结果保留3位小数)样例输入1:345样例输出1:6.000样例输入2:111样例输出2:0.433分析:求三角形面积的海伦公式:其中p=(a+b+c)/2提示:sqrt是开方函数,如:sqrt(16)=4Sqrt函数在<cmath>库中,在程序头添加#include<cmath>

#include<cstdio>#include<cmath>intmain(){doublea,b,c,p,s;scanf("%lf%lf%lf",&a,&b,&c);

p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf("%0.3lf\n",s);return0;}思考:语句5和6可以交换吗?#include<cstdio>#include<cmath>intmain(){doublea,b,c,p,s;scanf("%lf%lf%lf",&a,&b,&c);

p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf("%0.3lf\n",s);return0;}程序从第一句开始,依次顺序执行语句直到结束,中间无分支和循环,这种程序结构称为顺序结构读入边长a,b,c求p求s输出面积s流程图知识点5:赋值语句格式: 变量=表达式;功能:将赋值运算符右边表达式的值赋给其左边的变量例如:p=(a+b+c)/2;下述形式:

变量=(变量=表达式)是成立的,其展开之后的一般形式为: 变量=变量=…=表达式; 例如,“a=b=c=d=e=5;”,它实际上等价于:e=5;d=e;c=d;b=c;a=b;实现演习:1.输入长方形的边长a和b,输出长方形的面积S。样例输入:56样例输出:30方法1:#include<cstdio>intmain(){ inta,b; scanf("%d%d",&a,&b); printf("%d",a*b);

return0;}方法2:#include<cstdio>intmain(){ inta,b,s; scanf("%d%d",&a,&b);

s=a*b; printf("%d",s);

return0;}2.输入两个整数a和b,交换a和b的值输出。样例输入:56样例输出:65方法1:#include<cstdio>intmain(){ inta,b,t; scanf("%d%d",&a,&b); t=a; a=b; b=t; printf("%d%d",a,b);

return0;}方法2:#include<cstdio>intmain(){ inta,b; scanf("%d%d",&a,&b); printf("%d%d",b,a);return0;}3:输出保留3位小数的实数输入一个实数,保留3位小数输出这个实数。

样例输入12.34521样例输出12.345#include<cstdio>intmain(){ doublea; scanf("%lf",&a); printf("%.3lf",a); return0;}3:输出保留12位小数的实数输入一个实数,保留12位小数输出这个实数。

样例输入12.34521样例输出12.345#include<cstdio>intmain(){ doublea; scanf("%lf",&a); printf("%.3lf",a); return0;}4:空格分隔输出描述读入一个整数,一个实数,然后按顺序输出它们,并且要求在他们之间用一个空格分隔。输入共有二行:

第一行是一个整数;

第二行是一个实数;输出按顺序输出整数和实数,之间用空格分隔(输出实数时保留6位小数)。样例输入122.3样例输出122.300000#include<cstdio>intmain(){ intb; doublea; scanf("%d%lf",&b,&a); printf("%d%.3lf",b,a); return0;}5:A*B问题描述输入两个正整数A和B,求A*B。

输入一行,包含两个正整数A和B,中间用单个空格隔开。1<=A,B<=50000。输出一个整数,即A*B的值。样例输入134样例输出112样例输入220005000样例输出210000000样例输入35000050000样例输出32500000000方法1#include<cstdio>intmain(){ inta,b,s; scanf("%d%d",&a,&b); s=a*b; printf("%d",s); return0;}改进#include<cstdio>intmain(){

longlonga,b,s; scanf("%lld%lld",&a,&b); s=a*b; printf("%lld",s); return0;}5拓展:A/B问题描述输入两个正整数A和B,求A/B。

输入一行,包含两个正整数A和B,中间用单个空格隔开。1<=A,B<=50000。输出一个整数,即A*B的值。样例输入115样例输出10.2改进a/b#include<cstdio>intmain(){

longlonga,b; scanf("%lld%lld",&a,&b); printf("%lf",a*1.0/b); return0;}知识点6:标准数据类型知识点:C++语言提供了丰富的数据类型。本节介绍几种基本的数据类型:整型、实型、字符型。它们都是系统定义的简单数据类型,称为标准数据类型。延迟符整型字符型实型标准数据类型知识点5:标准数据类型知识点:C++语言提供了丰富的数据类型。本节介绍几种基本的数据类型:整型、实型、字符型等。它们都是系统定义的简单数据类型,称为标准数据类型。

1、整型在C++语言中,整型类型标识符为int。根据整型变量的取值范围又可将整型变量定义为以下8种整型类型:数据类型定义标识符占字节数数值范围数值范围短整型short[int]2(16位)-32768~32767-215~215-1整型[long]int4(32位)-2147483648~2147483647-231~231-1长整型long[int]4(32位)-2147483648~2147483647-231~231-1超长整型longlong[int]8(64位)-9223372036854775808~9223372036854775807-263~263-1无符号整型unsigned[int]2(16位)0~655350~216-1无符号短整型unsignedshort[int]2(16位)0~655350~216-1无符号长整型unsignedlong[int]4(32位)0~42949672950~232-1无符号超长整型Unsignedlonglong8(64位)0~184467440737095516150~264-1

2、实型数据类型定义标识符数值范围占字节数有效位数单精度实型float-3.4E+38~3.4E+384(32位)6~7位双精度实型double-1.7E+308~1.7E+3088(64位)15~16位长双精度实型longdouble-3.4E+4932~1.1E+493216(128位)18~19位布尔变量bool真true或假false1(8位)

3、字符型(char)字符常量有以下两种表示法:⑴、普通表示形式字符常量是由单个字符组成,所有字符采用ASCII编码。在程序中,通常用一对单引号将单个字符括起来表示一个字符常量。如:'a','A','0'等。序号字符序号字符序号字符序号字符序号字符序号字符32空格48064@80P96`112p33!49165A81Q97a113q34”50266B82R98b114r35#51367C83S99c115s36$52468D84T100d116t37%53569E85U101e117u38&54670F86V102f118v39'55771G87W103g119w40(56872H88X104h120x41)57973I89Y105i121y42*58:74J90Z106j122z43+59;75K91[107k123{44,60<

76L92\108l124|45-61=77M93]109m125}46.62>

78N94^110n126~47/63?79O95_111o127deLASCII码表3、字符型(char)⑵转义字符表示形式。转义字符有三种用法:表示控制字符、表示特殊字符、表示所有字符。常用的转义字符如右表所示。转义字符含义'\n'换行'\t'水平制表'\b'退格'\r'回车(不换行)'\0'空字符'\’'单引号'\”'双引号'\\'一个反斜杠字符'\ddd'1~3位八进制数所代表的字符'\xhh'1~2位十六进制数所代表的字符例1:整型数据类型存储空间大小分析:分别定义int,double类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。整型数据类型存储空间大小#include<cstdio>intmain(){ intx; doubley; printf("%d%d\n",sizeof(x),sizeof(y));

//sizeof返回一个对象或者类型所占的内存字节数

return0;}例2.打印ASCII码描述输入一个除空格以外的可见字符(保证在函数scanf中可使用格式说明符%c读入),输出其ASCII码。

输入一个除空格以外的可见字符。输出一个十进制整数,即该字符的ASCII码。样例输入A样例输出65#include<cstdio>intmain(){ chara; scanf("%c",&a); printf("%d",a); return0;}例3:打印字符描述输入一个ASCII码,输出对应的字符。

输入一个整数,即字符的ASCII码,保证存在对应的可见字符。输出一行,包含相应的字符。样例输入65#include<cstdio>intmain(){ inta; scanf("%d",&a); printf("%c",a); return0;}例4:大小字母的转换【说明】:因为所有小写字母的ASCII值要比对应大写字母的ASCII值大32,所以c1减去32后便得到原来字母的大写形式。反之,c2加上32后便得到原来字母的小写形式。例4:大小字母的转换【参考程序】:

#include<cstdio>intmain(){ charc1,c2; c1='a'; c2='A'; printf("%c%c\n",c1,c2); c1=c1-32; c2=c2+32; printf("%c%c\n",c1,c2); return0;}运行结果:

aA

Aa【说明】:因为所有小写字母的ASCII值要比对应大写字母的ASCII值大32,所以c1减去32后便得到原来字母的大写形式。反之,c2加上32后便得到原来字母的小写形式。x拓展#include<cstdio>intmain(){ charc1,c2; scanf("%c%c",&c1,&c2); printf("%c%c\n",c1-32,c2+32); return0;}

4、布尔变量数据类型定义标识符数值范围占字节数有效位数布尔变量bool真true或假false1(8位)

例5:整型与布尔型的转换描述将一个整型变量的值赋给一个布尔型变量,再将这个布尔型变量的值赋给一个整型变量,得到的值是多少?输入一个整型范围内的整数,即初始时整型变量的值。输出一个整数,经过上述过程后得到的结果。样例输入3样例输出1#include<cstdio>intmain(){ inta; boolbo; scanf("%d",&a); bo=a; a=bo; printf("%d",a); return0;}延迟符知识点6运算符知识点:各类运算符的组成及参与运算的优先级1.运算符的分类1.算术运算符用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。⑴模运算符求余的运算符“%”也称为模运算符,是双目运算符,两个操作数都是整型数。a%b的值就是a除以b的余数,5%2余数为1。其操作对象只能是整型数,而其他四种运算符对int,float,double,char都适用。⑵除法运算符

C++语言的除法运算符有一些特殊之处,即如果a、b是两个整数类型的变量或常量,那么a/b的值是a除以b的商。例如,5/2的值是2,而不是2.5,而5.0/2或5/2.0的值是2.5。延迟符1.运算符的分类1.算术运算符⑶自增自减运算符自增、自减运算符用来对一个操作数进行加1或减1运算,其结果仍然赋予该操作数,而且参加运算的操作数必须是变量,而不能是常量或表达式。

1)自增运算符。例如,x++表示在使用x之后,使x的值加1,即x=x+1;++x表示使用x之前,先使x的值加1,即x=x+1。

2)自减运算符。例如,x--表示在使用x之后,使x的值减1,即x=x-1;--x表示使用x之前,先使x的值减1,即x=x-1。⑷复合算术赋值。例如,a+=1,相当于a=a+1;a+=b,相当于a=a+b。延迟符1.运算符的分类2.关系运算符

用于比较运算。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。关系运算符用于数值的大小比较。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种,它们都是双目运算符。关系运算符运算的结果是整型,值只有两种:0或1,0代表关系不成立,1代表关系成立。延迟符1.运算符的分类3.逻辑运算符

用于逻辑运算。包括与(&&)、或(||)、非(!)三种。逻辑运算的值也为“真”和“假”两种,用“1”和“0”来表示。其求值规则如下:1.与运算&&参与运算的两个量都为真时,结果才为真,否则为假。例如,5>0&&4>2,由于5>0为真,4>2也为真,相与的结果也为真。2.或运算||参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。例如:5>0||5>8,由于5>0为真,相或的结果也就为真

3.非运算!参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如:!(5>0)的结果为假。延迟符1.运算符的分类3.逻辑运算符虽然C++编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。例如:由于5和3均为非“0”因此5&&3的值为“真”,即为1。又如:5||0的值为“真”,即为1。延迟符(二)运算符的优先级算术运算符、关系运算符、逻辑运算符和赋值运算符的优先级如下:赋值运算符逻辑运算符关系运算符算术运算符低高关系运算符的结合性为:自左至右。根据以上优先级和结合性,计算出以下表达式的结果(假设a=3,b=2,c=1)

a>b表达式为真,所以表达式的值为1(a>b)==c表达式为真,所以表达式的值为1b+c<a表达式为假,所以表达式的值为0d=a>ba>b为真,所以d的值为1f=a>b>ca>b为真,结果为1,1>c为假,所以f的值为0例1:变量自加运算#include<cstdio>intmain(){ intx,y,z1,z2; x=7; y=8; z1=y-(x++);//计算z1=1,计算后x=8z2=y-(++x);//计算前x的值自加1,x的值为9,再与y求差

printf("%d%d",z1,z2);//分别输出z1和z2的值}

运行结果:z1和z2分别为?【说明】:在运行z1=y-(x++),是先算减法,x再自加1,所以结果为1。在z2=y-(++x),是x先加1,然后再算减法。延迟符函数名格式功能说明例子绝对值函数abs(x)求一个数x的绝对值abs(-5)=5自然数指数函数exp(x)求实数x的自然指数exexp(1)=2.718282向下取整floor(x)求不大于实数x的最大整数floor(3.14)=3向上取整ceil(x)求不小于实数x的最小整数ceil(3.14)=4自然对数函数log(x)求实数x的自然数对数log(1)=0指数函数pow(x,y)计算xy,结果为双精度实数pow(2,3)=8随机函数rand()产生0到RAND-MAX之间的随机整数

平方根值函数sqrt(x)求实数x的平方根sqrt(25)=5【说明】:1、使用函数之前,在程序的开头要加上函数所在的头文件。2、调用格式:变量名=函数名(表达式),或在输出语句中直接输出。知识点7

标准函数延迟符1、表达式

是由常量、变量、标准函数与运算符按照一定的规则组成的式子。知识点8表达式延迟符2、数据类型转换

C++语言中,要将一个表达式的结果转换成期望的数据类型,或者不同数据类型的运算对象进行混合运算,就需要依据数据类型转换规则进行转换。⑴隐性转换

a混合运算时的类型转换整型、实型、字符型数据间可以混合运算。为了保证运算精度,系统在运算时的转换规则是将存储长度较短的运算对象转成存储长度较长的类型,然后再进行处理。这种转换是系统自动进行的。知识点8表达式延迟符2、数据类型转换b赋值时的类型转换当赋值运算符两侧的数据类型不同时,需进行类型转换,这种转换是系统自动进行的,转换规则如下:1)float、double型赋值给int型:直接截断小数。例如,“inti=f+0.6;”,f的值为4.0,右边算术表达式运算后的结果为4.6的double型数据,根据上述转换原则,直接舍弃小数,所以i的值为4。2)int、char型赋值给float、double型:补足有效位以进行数据类型转换。例如:“floatf=4;”,float为7位有效数字,所以f的值为4.0000000。……知识点8表达式延迟符2、数据类型转换

⑵强制类型转换即将某一数据的数据类型转换为指定的另一种数据类型,强制类型转换只是临时转换。强制转换运算符组成的运算表达式的一般形式:(类型名)(表达式)例如:已知有变量定义“intb=7;floata=2.5”,求下面算术表达式的值。

a+(double)(b/3)表达式延迟符课后训练训练1:整型数据类型和浮点型存储空间大小分别定义int,short、float和double类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。输入:无。输出:一行,四个整数,分别是两个变量的存储空间大小,用一个空格隔开。延迟符课后训练训练2:浮点数向零舍入【1.2编程基础之变量定义、赋值及转换06】输入一个单精度浮点数,将其向零舍入到整数。说明:向零舍入的含义是,正数向下舍入,负数向上舍入。提示:可以使用强制类型转换来实现。输入:一个单精度浮点数。输出:一个整数,即向零舍入到整数的结果。样例输入:2.3样例输出:2延迟符课后训练训练3:整型与布尔型的转换将一个整型变量的值赋给一个布尔型变量,再将这个布尔型变量的值赋给一个整型变量,得到的值是多少?输入:

一个整型范围内的整数,即初始时整型变量的值。输出:

一个整数,经过上述过程后得到的结果。样例输入:3样例输出:1延迟符课后训练训练4:打印字符输入一个整数,即字符的ASCII码,保证存在对应的可见字符。输出相对应的字符。输入:

一个整数,即字符的ASCII码,保证存在对应的可见字符。输出:

一行,包含相应的字符。样例输入:65样例输出:A延迟符课后训练训练5:Hello,World!的大小可以用sizeof函数获得它所占用的空间大小。输入:

无。输出:

一个整数,即“Hello,World!”的大小。延迟符1.4.2典型例题例1:输入两个正整数A和B,试交换A、B的值(使A的值等于B,B的值等于A)参考程序:

#include<iostream>//使用cin,cout,须调用iostream库

usingnamespacestd;

intmain()

{inta,b,c;//定义三个变量

cout<<"Inputa,b=";//输入提示Inputa,b=

cin>>a>>b;//输入A、B的值

c=a;a=b;b=c;//交换A、B的值

cout<<"a="<<a<<"b="<<b<<endl;//输出结果

}分析:交换两个变量的值方法很多,一般我们采用引入第三个变量的算法,二个变量交换,可以想像成一瓶酱油和一瓶醋进行交换,这时容易想到拿一个空瓶子过来:①将酱油倒到空瓶中;②将醋倒到酱油瓶中;③将原空瓶中的酱油倒到醋瓶中。延迟符1.4.2典型例题例2:数学中经典的“鸡兔同笼”问题,已知头共30个,脚共90只,问笼中的鸡和兔各有多少只?注意这两步运算的先后顺序。程序如下:include<iostream>//使用cin,cout,须调用iostream库

usingname

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论