ImageVerifierCode 换一换
格式:DOCX , 页数:159 ,大小:67.85KB ,
资源ID:13347451      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13347451.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c++ 例题.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

c++ 例题.docx

1、c+ 例题第一章例1.1 输出一行字符: “This is a C+ program.”。程序如下: #include /包含头文件iostreamusing namespace std; /使用命名空间stdint main( )coutThis is a C+ program.;return 0;例1.2 求a和b两个数之和。可以写出以下程序: / 求两数之和 (本行是注释行)#include /预处理命令using namespace std; /使用命名空间stdint main( ) /主函数首部 /函数体开始int a,b,sum; /定义变量cinab; /输入语句sum=a+b

2、; /赋值语句couta+b=sumendl; /输出语句return 0; /如程序正常结束,向操作系统返回一个零值 /函数结束例1.3 给两个数x和y,求两数中的大者。在本例中包含两个函数。#include /预处理命令using namespace std;int max(int x,int y) /定义max函数,函数值为整型,形式参数x,y为整型 /max函数体开始int z; /变量声明,定义本函数中用到的变量z为整型if(xy) z=x; /if语句,如果xy,则将x的值赋给zelse z=y; /否则,将y的值赋给zreturn(z); /将z的值返回,通过max带回调用处 /

3、max函数结束int main( ) /主函数 /主函数体开始int a,b,m; /变量声明cinab; /输入变量a和b的值m=max(a,b); /调用max函数,将得到的值赋给mcoutmax=mn; /输出大数m的值return 0; /如程序正常结束,向操作系统返回一个零值 例1.4 包含类的C+程序。#include / 预处理命令using namespace std;class Student / 声明一个类,类名为Studentprivate: / 以下为类中的私有部分int num; / 私有变量numint score; / 私有变量scorepublic: / 以下为

4、类中的公用部分void setdata( ) / 定义公用函数setdatacinnum; / 输入num的值cinscore; / 输入score的值void display( ) / 定义公用函数displaycoutnum=numendl; / 输出num的值coutscore=scoreendl; /输出score的值; / 类的声明结束Student stud1,stud2; /定义stud1和stud2为Student类的变量,称为对象int main( ) / 主函数首部stud1.setdata( ); / 调用对象stud1的setdata函数stud2.setdata( )

5、; / 调用对象stud2的setdata函数stud1.display( ); / 调用对象stud1的display函数stud2.display( ); / 调用对象stud2的display函数return 0;第二章例2.1 将字符赋给整型变量。#include using namespace std;int main( )int i,j; /i和j是整型变量i=A; /将一个字符常量赋给整型变量ij=B; /将一个字符常量赋给整型变量jcouti jn; /输出整型变量i和j的值,n 是换行符return 0;例2.2 字符数据与整数进行算术运算。下面程序的作用是将小写字母转换为大

6、写字母。#include using namespace std;int main( )char c1,c2;c1=a;c2=b;c1=c1-32;c2=c2-32;coutc1 c2endl;return 0;例2.3 符号常量的使用。 #define PRICE 30 /注意这不是语句,末尾不要加分号int main ( ) int num,total;num=10;total=num * PRICE;couttotal=totalendl;return 0; 例2.4 强制类型转换。#include using namespace std;int main( ) float x;int

7、i;x=3.6;i=(int)x;coutx=x,i= iendl;return 0;例2.5 将有符号数据传送给无符号变量。#include using namespace std;int main( ) unsigned short a;short int b=-1;a=b;couta=aendl;return 0;第三章例3.1 各行小数点对齐。#include #include using namespace std;int main( ) double a=123.456,b=3.14159,c=-3214.67; coutsetiosflags(iosfixed)setiosfla

8、gs(iosright)setprecision(2);coutsetw(10)aendl;coutsetw(10)bendl;coutsetw(10)cendl; return 0; 例3.10 求1+2+3+100。用流程图表示算法,见图3.10。根据流程图写出程序:#include using namespace std;int main( )int i=1,sum=0;while (i=100) sum=sum+i;i+;coutsum=sumendl;例3.11 用do-while语句求1+2+3+100。先画出流程图,见图3.12。可编写出下面的程序: #include using

9、 namespace std;int main( )int i=1,sum=0;do sum=sum+i;i+;while (i=100);coutsum=sumendl;return 0;例3.12 用下面公式求的近似值。/41-1/3+1/5-1/7+直到最后一项的绝对值小于10的-7次方为止。根据给定的算法很容易编写程序如下:#include #include #include using namespace std;int main( )int s=1;double n=1,t=1,pi=0;while(fabs(t)1e-7)pi=pi+t;n=n+2;s=-s;t=s/n;pi=p

10、i*4;coutpi=setiosflags(iosfixed)setprecision(6)piendl;return 0;例3.13 求Fibonacci数列前40个数。这个数列有如下特点:第1、2个数为1、1。从第3个数开始,每个数是其前面两个数之和。即F1=1 (n=1)F2=1 (n=2)Fn=Fn-1+Fn-2 (n3)这是一个有趣的古典数学问题:有一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假设所有兔子都不死,问每个月的兔子总数为多少?可以从书中表3.4看出兔子数的规律。根据给出的每月兔子总数的关系,可以编写程序如下:#include

11、#include using namespace std;int main( )long f1,f2;int i;f1=f2=1;for(i=1;i=20;i+)coutsetw(12)f1setw(12)f2; /设备输出字段宽度为12,每次输出两个数if(i%2=0) coutendl;/每输出完4个数后换行,使每行输出4个数f1=f1+f2;/左边的f1代表第3个数,是第1、2个数之和f2=f2+f1;/左边的f2代表第4个数,是第2、3个数之和return 0;例3.14 找出100200间的全部素数。编写程序如下:#include #include #include using na

12、mespace std;int main( )int m,k,i,n=0;bool prime; /定义布尔变量primefor(m=101;m=200;m=m+2) /判别m是否为素数,m由101变化到200,增量为2prime=true; /循环开始时设prime为真,即先认为m为素数k=int(sqrt(m); /用k代表根号m的整数部分for(i=2;i=k;i+) /此循环的作用是将m被2根号m除,检查是否能整除if(m%i=0) /如果能整除,表示m不是素数 prime=false; /使prime变为假break; /终止执行本循环 if (prime) /如果m为素数couts

13、etw(5)m; /输出素数m,字段宽度为5n=n+1; /n用来累计输出素数的个数 if(n%10=0) coutendl; /输出10个数后换行coutendl; /最后执行一次换行return 0;例3.15 译密码。为使电文保密,往往按一定规律将电文转换成密码,收报人再按约定的规律将其译回原文。例如,可以按以下规律将电文变成密码:将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D。见图3.20。字母按上述规律转换,非字母字符不变。如Wonderful!转换为Asrhivjyp!。输入一行字符,要求输出其相应的密码。图3.20程序如下:#incl

14、ude using namespace std;int main( )char c;while (c=getchar( )!=n)if(c=a & c=A & cZ & cz) c=c-26;coutc;coutendl;return 0; 例3.2 输出单个字符。#include /或者包含头文件stdio.h: #include using namespace std;int main( )char a,b,c;a=B;b=O;c=Y;putchar(a);putchar(b);putchar(c);putchar(n);putchar(66);putchar(79);putchar(89

15、);putchar(10);return 0;例3.3 输入单个字符。#include using namespace std;int main( )char c;c=getchar( ); putchar(c+32); putchar(n);return 0; 例3.4 用scanf和printf函数进行输入和输出。#include using namespace std;int main( )int a; float b; char c;scanf(%d %c %f,&a,&c,&b); /注意在变量名前要加地址运算符&printf(a=%d,b=%f,c=%cn,a,b,c);retur

16、n 0;例3.5 求一元二次方程式ax2+bx+c=0的根。a,b,c的值在运行时由键盘输入,它们的值满足b2-4ac0。根据求x1,x2的算法。它可以编写出以下C+程序: #include #include /由于程序要用到数学函数sqrt,故应包含头文件cmathusing namespace std;int main( )float a,b,c,x1,x2;cinabc;x1=(-b+sqrt(b*b-4*a*c)/(2*a);x2=(-b-sqrt(b*b-4*a*c)/(2*a);coutx1=x1endl;coutx2=x2endl;return 0;例3.6 求三角形的面积。#i

17、nclude #include /使用数学函数时要包含头文件cmath#include /使用I/O流控制符要包含头文件iomanipusing namespace std;int main( )double a,b,c;coutabc;if (a+bc & b+ca & c+ab) /复合语句开始double s,area; /在复合语句内定义变量s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);coutsetiosflags(iosfixed)setprecision(4); /指定输出的数包含4位小数coutarea=areaendl; /在复合语句内输

18、出局部变量的值 /复合语句结束else coutit is not a trilateral!endl;return 0;例3.7 输入一个字符,判别它是否为大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。#include using namespace std;int main( )char ch;cinch;ch=(ch=A & ch=Z)?(ch+32):ch; /判别ch是否大写字母,是则转换coutchendl;return 0;例3.8 编写程序,判断某一年是否为闰年。#include using namespace std;int main( )

19、int year;bool leap;coutyear; /输入年份if (year%4=0) /年份能被4整除if(year%100=0) /年份能被4整除又能被100整除if (year%400=0) /年份能被4整除又能被400整除leap=true; /闰年,令leap=true(真)else leap=false; /非闰年,令leap=false(假)else /年份能被4整除但不能被100整除肯定是闰年leap=true; /是闰年,令leap=trueelse /年份不能被4整除肯定不是闰年leap=false; /若为非闰年,令leap=falseif (leap)couty

20、ear is ; /若leap为真,就输出年份和“是”elsecoutyear is not ; /若leap为真,就输出年份和“不是”cout a leap year.endl; /输出“闰年”return 0;例3.9 运输公司对用户计算运费。路程(s)越远,每公里运费越低。标准如下: s250km 没有折扣250s500 2折扣500s1000 5折扣1000s2000 8折扣2000s3000 10折扣3000s 15折扣设每公里每吨货物的基本运费为p(price的缩写),货物重为w(wright的缩写),距离为,折扣为d(discount的缩写),则总运费f(freight的缩写)的

21、计算公式为 f = p * w * s * (1 - d)图3.8据此写出程序如下: #include using namespace std;int main( )int c,s;float p,w,d,f;coutpws;if(s=3000) c=12;else c=s/250;switch (c) case 0:d=0;break;case 1:d=2;break;case 2:case 3:d=5;break;case 4:case 5:case 6:case 7:d=8;break;case 8:case 9:case 10:case 11:d=10;break;case 12:d=

22、15;break;f=p*w*s*(1-d/100.0);coutfreight=fendl;return 0;第四章例41 在主函数中调用其他函数。#include using namespace std;void printstar(void) /定义printstar函数cout* endl; /输出30个“*”void print_message(void) /定义print_message函数cout Welcome to C+!endl; /输出一行文字int main(void)printstar( ); /调用printstar 函数print_message( ); /调用p

23、rint_message函数printstar( ); /调用printstar 函数return 0;例4.10 有5个人坐在一起,问第5个人多少岁?他说比第4个人大两岁。问第4个人岁数,他说比第3个人大两岁。问第3个人,又说比第2个人大两岁。问第2个人,说比第1个人大两岁。最后问第1个人,他说是10岁。请问第5个人多大?可以写出以下C+程序,其中的age函数用来实现上述递归过程。#include using namespace std;int age(int); /函数声明int main( ) /主函数 coutage(5)endl;return 0;int age(int n) /求年

24、龄的递归函数int c; /用c作为存放年龄的变量 if(n=1) c=10; /当n=1时,年龄为10else c=age(n-1)+2; /当n1时,此人年龄是他前一个人的年龄加2return c; /将年龄值带回主函数例4.11 用递归方法求!。有了例4.10的基础,很容易写出本题的程序:#include using namespace std;long fac(int); /函数声明int main( )int n; /n为需要求阶乘的整数long y; /y为存放n!的变量coutn; /输入ny=fac(n); /调用fac函数以求n!coutn!=yendl; /输出n!的值re

25、turn 0;long fac(int n) /递归函数long f;if(n0)coutn0,data error!1时,进行递归调用return f; /将f的值作为函数值返回例4.12 静态局部变量的值。#include using namespace std;int f(int a) /定义f函数,a为形参auto int b=0; /定义b为自动变量static int c=3; /定义c为静态局部变量b=b+1;c=c+1;return a+b+c;int main( )int a=2,i;for(i=0;i3;i+)coutf(a) ;coutendl;return 0;例4.13 输出的阶乘值(即1!,2!,3!,4!,5!)。#include using namespace std;int fac(int); /函数声明int main( )int i;for(i=1;i=5;i+)couti!=fac(i)endl;return 0;int fac(int n)static int f=1; /f为静态局部变量,函数结束时f的值不释放f=f*n; /在f原值基础上乘以nret

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2