版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计基础实验教程对于从事计算机行业的人员来说, 设计能力是最主要的基本功之一。 入门课程 程序设 计基础 的学习效果将直接关系到编程能力的掌握和提高以及后续课程的学习。 然而, 实践 证明, 许多初学者在学习这门课程时的效果并不理想。 对初学者来说, 如何学好本课程?首 先,要理解教材中所给出的语法描述, 并学会按语法规定去编写指定问题的求解程序。 经过 这样的多次反复, 初学者就可以找到编程的感觉。 除了要学好理论知识外, 更重要的一点是 要到计算机上去验证, 因为只有实践才是检验真理的标准。 只有通过到计算机上去实践, 才 能发现学习中存在的问题, 巩固所学知识, 加强解决实际问题的能
2、力, 增强信心。 因此,程 序设计基础课程的上机实验是本课程必不可少的实践环节,必须加以重视。本课程上机实验的目的是使学生熟悉用高级语言解决实际问题的全过程, 加深对语言的 理解,得到程序设计基本方法和能力的训练。在独立编写程序、独立上机调试程序的同时, 真正能用高级语言这个工具去解决实际问题 , 对计算机学科的相关知识有所了解,从而为后 续课程的学习奠定良好的基础。本实验指导所用环境是 Visual C+ 6.0 及以上版本。考虑到本课程的内容和特点,设 置了 十四个实验,每次实验需要两至三小时,分别侧重于教材中的一个方面 ,其中标有“ *” 号的习题的综合性较强,可供学有余力的学生选择。实
3、验时也可根据具体情况做适当调整。 虽然可能由于课时和机时限制等原因而不能在实验课时内全部得到安排, 但还是建议学生能 将其中的每个实验都能认真做一遍,因为这些实验都是学习本课程所必需的。学生在做实验之前应仔细阅读本实验指导书, 初步掌握实验的基本要求和实验方法。 在 实验过程中, 学生应该有意识的培养自己调试程序的能力, 积累发现问题、 解决问题的经验, 灵活主动的学习。 对于分析运行结果的实验习题, 上机前先进行用人工分析, 写出运行结果, 与上机调试得到的结果进行对照,如有差异, 分析其原因。对于程序编制的实验习题, 上机 前应考虑出较成熟的编程思路, 有意识提供出多种方案, 以灵活运用所
4、学知识和技巧。 如此, 可充分利用有限的上机时间, 有目的的增强调试程序、 解决各种实际问题的能力。 每个实验 完成后需要写实验报告。实验0 Visual C+ 集成开发环境1. 实验目的要求(1)熟悉和掌握Visual C+ 的集成开发环境(简称为 IDE)的部分功能。2) 熟悉和掌握建立控制台应用程序3) 掌握用 IDE 编辑、编译和运行简单程序的基本过程。4) 掌握程序调试的基本方法,包括程序断点的设置与去除,程序的跟踪以及运行期间 变量数值的观察。2. 实验内容(1) 了解 Visual C+ 可视化集成开发环境Visual C+ 是微软公司推出的目前使用极为广泛的基于 Windows
5、 平台的可视化集成开 发环境,它和 Visual Basic、Visual Foxpro、Visual J+ 等其它软件构成了 Visual Studio (又名 Developer Studio )程序设计软件包。 Developer Studio 是一个通用的应用程序集成开发环境, 包含了一个文本编辑器、资源编辑器、工程编译工具、一个增量连接器、源代码浏览器、集 成调试工具,以及一套联机文档。使用Developer Studio,可以完成创建、调试、修改应用程序等的各种操作。Visual C+ 分为学习版、专业版和企业版。 VC 提供了一种控制台操作方式,初学者使 用它应该从这里开始。 W
6、in32 控制台程序 (Win32 Console Application) 是一类 Windows 程序, 它不使用复杂的图形用户界面, 程序与用户交互时通过一个标准的正文窗口, 通过几个标准 的输入输出流(I/O Streams)进行。下面我们将对使用VC编写简单的控制台程序作一个最初步的介绍。这里的介绍不包含C+运行环境(尤其是 Windows环境)下进行开发的内容,有关这方面的内容请参阅相应开发手册。另外, Visual C+ 包含丰富的函数库和类库,学生 在设计程序时可以使用有关的内容,这方面的内容也请自行参阅相应的开发指南类书籍。实验操作步骤如下:安装 Visual C+:运行 V
7、isual Studio 软件中的 setup.exe程序,选择安装 Visual C+ 6.0,然后按照安装程序的指导完成安装过程。启动 Visual C+ :安装完成后,在开始菜单的程序选单中有 Microsoft Visual Studio 6.0 图标,其中又有 Microsoft Visual C+ 6.0 即可运行(也可在 Window 桌面上建立一个快捷方 式,以后可双击运行) 。 Visual C+ 6.0 开发环境见图 0-1。建立控制台工程:进入Visual C+环境后,选择菜单“File | New ”在弹出的对话框中单击上方的选项卡“ Projects ” 选择“ Wi
8、n 32 Con sole Application "工程类型,在“ Project name" 栏中填写 工程名例如 MyFirst,在“ Location "一栏中填写工程路径 (目录)例如:D: MyProject'MyFirst , 见图0-2,然后按“ OK”继续。V Adcibe*ll Borland Ctelphi 7扇 Fnepiint 3XC*為冃hGt卜遽| RcshVift*為 Wicrowft oFftce 二RP Mkl awft SQL Seivei卜_pj| Micrascilt SQL berver 就盖吃抉3纠里件骗辑;卫
9、鱼巻蚀 国f罚SF同上p 珂* 悄 st地址忙)阻叢创卩前T E廨1卷胃nmrt 1 ”.击上 逋rurof:血文老 ®斑cf恤文吕 电 WriSp JL- 3 rfr比iVK? 1 用±A可辰空日匚g.能74.i / (itsItm 站力口飙展 X1苗u日1 Btuife 6血卜-rt Mcrnsoft Visi_bBl 3:udioi 6. & EnBeni1 w Toins 4| FlkrcKCrft YsualStudcp 氐 DTaote卜MkrafciftWEti Pliblishing-目 NEtiork A££UL|ate
10、3;卜HtrasaFt VesueI C-h- 6 PC POSHUkrEdlWrZp位盍:-屮io卽an片1上町疋£卩 VisualIstudoltQimoniPWcv 勺駅BinPEflL'Er Gigaat inJFt E:h»ic»i MIC M序 SCVICFCGsielflT ip'MrFSy图 0-1 启动 Mircosoft Visual C+ 6.0图0-2创建控制台工程屏幕上出现如图 0-3所示的 Win32 Con sole Applicati on Step 1 of 1对话框后,选择“ Anempty project”项,
11、然后按 Finish按钮继续,图 0-3 Win 32 Con sole Applicatio n Step 1 of 1 对话框出现如图0-4所示的New Project In formation 对话框后,按 OK按钮完成工程创建。图 0-4 New Project Information 对话框编辑C+程序:选择菜单"Project | Add to Project | New ”,为工程添加新的 C+源文件。如图0-5所示。图0-5选择菜单为工程添加新源文件图 0-6 加入新的 C+ Source File在出现如图0-6所示的对话框后,选择“ File”选项卡,选定“ C+
12、 Source File ”项,在"File Name”栏填入新添加的源文件名,如 MyFirst.cpp , “Location ” 一栏指定文件路径, 按按钮“ OK”完成C+源程序的系统新建操作,如图0-6所示。在文件编辑区输入源程序,存盘,如图0-7所示。图0-7编辑MyFirst.cpp源程序编译源程序:选择Build | Build菜单(F7为快捷键),系统将会在 Output窗口给出所有的错误信息和 警告信息。当所有错误修正之后,系统将会生成扩展名为.exe的可执行文件。对于Output窗口给出的错误信息,双击可以使输入焦点跳转到引起错误的源代码处以进行修改。执行程序:
13、选择Build | Execute菜单项(Ctrl + F5为快捷键),执行程序,将会出现一个 DOS窗口, 按照程序输入要求正确输入数据后,程序即正确执行。如图0-8所示。调试程序:在编写较长的程序时,能够一次成功而不含有任何错误决非易事,这需要进行长期大量的练习。编写的程序若已没有编译错误,可以成功运行。对于程序中的错误,VC提供了易用且有效的调试手段。在工具栏上单击鼠标右键,在弹出的菜单中选中“Debug ”项。在程序调试状态下,可以进行单步执行调试程序。其中,单步跟踪进入子函数(Step In to,F11),每按一次F11键,程序执行一条无法再进行分解的程序行;单步跟踪跳过子函数(S
14、tep Over,F10),每按一次F10键,程序执行一行;Watch窗口可以显示变量名及其当前值,在单步执行的过程中,可以在 Watch窗口中加入所需观察的变量,辅助加以进行监视,随时了解变量当前的情况; 同时,为方便较大规模程序的跟踪,可以设置断点(F9为快捷键),断点处所在的程序行的左侧会出现一个红色圆点。选择Build | Start Debug | Go时,程序执行到断点处程序将暂停执行,可方便用户进行变量观察。取消断点只需在代码处再次按F9即可。还有运行至当前函数的末尾(Step Out)等都是很有效的调试工具,这里不再做一一介绍。图0-8程序运行结果图 0-9 MSDN有关联机帮
15、助:Visual C+6.0提供了详细的帮助信息,用户通过选择集成开发环境中的“ Help”菜单下的“ Contents”命令就可以进入帮助系统。在源文件编辑器中把光标定位在一个需要查询的 单词处,然后按F1键也可以进入 Visual C+6.0的帮助系统。如图 0-9所示。用户要使 用帮助必须安装 MSDN。用户通过 Visual C+6.0的帮助系统可以获得几乎所有的VisualC+6.0的技术信息,这也是 Visual C+作为一个非常友好的开发环境所具有的一个特色。3. 分析与思考通过创建项目文件的实验,总结一下创建一个控制台应用项目的一般方法和经验。除了已经介绍过的调试方法,可以尝试
16、集成开发环境提供的其它功能。实验一面向过程的简单程序设计1. 实验目的要求(1) 使用C+语言编写简单的计算机程序,掌握C+程序从编辑、编译到运行的全过程, 初步了解C+程序的特点。(2) 掌握C+语言的数据类型(包括对各种数据类型变量的定义、初始化、赋值等)、运 算符和表达式的使用。(3) 掌握赋值语句的使用。(4) 掌握数据的输入输出方法。2. 实验内容(1) 设计简单程序,分别计算下列表达式,式中变量由键盘输入,输出表达式的值。<1><2>1<3> sin X+cosX+ta nX<4> ex+y,x-y +e<5> log10
17、(1+ '.1X2) <6>a2 b2 + a b解:<1># in clude <iostream> using n amespace std;int mai n()(其中a表示取不大于a的最大整数)cin> >a>>b»c»d;cout<<"e nter x"<<e ndl; cin>>x;cout<<"result"<<x+(a+b)/(c-d)<<e n dl;float x;return
18、 0;float a,b,c,d;cout<<"e nter a,b,c,d"<<e ndl;<2># in elude <iostream>#in elude <cmath> using n amespaee std;int mai n()float x;float sum; cout<<"e nter x"<<e ndl; cin> >x; sum=1+1/(x+1/(x+1); cout<<pow(x,1.2)<<e ndl;re
19、turn 0;<4># in clude <iostream>#in clude <cmath>using n amespace std;int mai n()float x,y;cout<<"e nter x,y"<<e ndl;cin> >x»y; cout<<exp(x+y)+exp(x-y)<<e ndl;return 0;<3># in clude <iostream>#in clude <cmath>using n ame
20、space std;int mai n()float x,y;cout<<"e nter x"<<e ndl;cin>>x;y=si n( x)+cos(x)+pow(ta n( x),-1); cout<<y<<e ndl;return 0;<5># in clude <iostream>#in clude <cmath>using n amespace std;int mai n()float x;cout<<"e nter x"<<
21、;e ndl;cin>>x;cout<<log10(1+pow(1+x*x,1/2)<<en dl;return 0;<6># in clude <iostream>#in clude <cmath>using n amespace std;int mai n()double a,b;cout<<"e nter a,b"<<e ndl;cin> >a»b;cout<<fabs(a*a-b*b)+i nt(a-b)<<e ndl;(2)
22、 阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能。<1>#include <iostream.h>void main()char ch;cin >> ch ;ch = ( ch >= 'A&'& ch <= 'Z)'? ( ch + 32 ) : ch ; ch = ( ch >= ' a&& ch <= ' Z'?( ch -32 ) : ch ; cout << ch << endl;解:输入A,输出A
23、;输入a,输出Ao功能:将输入的字母转换成对应的大写字母并输出。<2>#include <iostream.h>void main()int m;float x;bool bi,br;cout << "n int m="cin >> m;bi = m > 1000;cout << "n float x="cin >> x;br = x <= 1e3;cout << bi << ',' << br << end
24、l;分别输入 100 40,20003000,10001000,2000300,1004000 运行。解:结果依次是: 0,1 1,0 0,1 1,1 0,0功能:判断第一个数是否大于1000,第二个数是否小于等于1000o<3>#include <iostream.h>void main()int n;cin >> n ;if ( n + < 10 )cout << n << endl ;elsecout << n - << endl ;解:输入2,输出3。功能:将输入的数字增加1后输出。n+是使用n后
25、其数值增加1, n是使用n后其数值减1, 上面这个程序最终是要输出n,其数值等于执行 n+后n的值。(3) 编写程序实现下列问题的求解。<1><2>a的值。<3>根据随机从键盘输入的圆半径值,求圆的周长和半径并输出。读入三个整数a、b、c,交换它们中的数,使 a存放b的值,b存放c的值,c存放对任意输入的四位整数,分别求出其各位数字,并按从后到前的顺序依次输出。例4,3,2,1。如,输入为1234时,输出结果为解:<1># in clude <iostream>using n amespace std;/*con st float P
26、AI=3.14159;int mai n()float r;亠豪 riXAdmsr- itra'c i Da右、茫社 £广曲丈 L>u g5比设 jt.s-xecout<<"输入园的半径"<<endl;cin»r;cout<<"半径为"<<r<<" 的园的周长 为"<<2*PAI*r<<e ndl;return 0;<2># in clude <iostream>using n amespace
27、 std;int mai n()float a,b,c;float temp;cout<<"依次输入 a,b,c"<<endl;cin> >a»b»c;cout<<"a= "<<a<<" b= "<<b<<" c="<<c<<e ndl;temp=a;a=b;b=c;c=temp;cout<<"交换后"<<endl;cout<&
28、lt;"a= "<<a<<" b= "<<b<<" c=<<c<<e ndl;C:User5 'Ad mlnlstratcrKDes ktc依祕输人12 3a= 1 h= 2 c- 3交按后a= 2 b= 3 c= 1Press ans,k思y to continue<3># in elude <iostream>using n amespace std;int mai n()int n;cout<<"输入一个四位数的整
29、数"<<e ndl;cin»n;for(i nt i=1;i<=3;i+)cout<< n%10<<','n/=10;cout<< n%10<<e ndl;return 0;"C:Use rsYAd mirristra tor Des kt 口 pwe 偉輕渝入一个四位数的整数L234L3-2,lany ky to continue3. 分析与思考*对任意输入的小于1的并且只有3位尾数的实数,分别求出其各位数字并输出。要求输出的各数字之间要空 2格。例如,输入为 0.368时,输出结
30、果为 0 3 6 8'解:#in clude <iostream>using n amespace std;int mai n()float n;cout<<"输入的小于1的并且只有3位尾数的实数"<<endl;cin»n;cout<<""'cout< <in t( n)<<""cout<<i nt(n *10)<<""cout<<i nt( n*100)%10<<&qu
31、ot;"cout<<int(n*1000)%10<<""'<<e ndl;return 0;j "C: U5er5'- AdmiristrgtorD俞入的小于1的并且只有?位尾数的实数L36S036Jress an;/ 召y to continne_实验二控制结构程序设计1. 实验目的要求(1) 理解基本的解题技巧,掌握用自顶向下、逐步求精的过程设计算法。(2) 熟练掌握if/else语句和switch语句的使用。(3) 熟练掌握while语句、do/while语句和for语句的使用以及区别。(4) 掌
32、握break和continue程序控制语句的使用。2. 实验内容(1)阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能。 <1>#include <iostream.h>void main()int m,n; m = 1000; n = 850;cout << “n( “<< m << ,'<< n << )' while ( m != n ) while ( m > n ) m = m n ;cout << (<< m << ,
33、9;<< n << ) ' while ( m < n ) n = n m ;cout << (<< m << , '<< n << ) 'cout << “n”<< m ; 解:输出结果为 (1000,850)(150,850)(150,700)(150,550)(150,400)(150,250)(150,100)(50,100)(50,50)50功能:不断执行 m=m-n,直至U m=n时为止,并将每次得到的结果输出<2>#include
34、<iostream.h>void main()int m,n,k ;m = 1000 ;n = 45 ;cout << “n(“<< m << :'<< n << )'k=0;while ( m >=n )m = m n ;cout << k << “- ”<< m << endl ; 解:输出结果 (1000:45)22-10功能:计算 1000 减去多少个 45 小于 45<3>#include <iostream.h>voi
35、d main()int i;for ( i = 1 ; i <= 5 ; i + ) if ( i % 2 ) cout << * 'else continue;cout << #'cout << “$n”;解: *8992*8992*8992$功能: for 循环中当 i 为奇数时,输出 * ,不是就继续执行<4>#include <iostream.h>void main()int a = 1,b = 10;dob -= a ;a + ;while ( b - <= 0 ) ;cout <<
36、 “ a=<”< a << “ b=<”< b <<endl ;解:输出 a=2b=8功能:循环执行 b=b-a,a+ 直到 b-<=0 为止,并将此时 a,b 的值输出。x+y(2) 编写程序实现下列问题的求解。 <1>求解下面函数的值。x<0,y<0z= ln( x+y)log1|x+y|+110< x+y其它情况10<2>编程求解下列各计算式1001)i = 1 + 2 + 3+10012)i! =1!+2!+-+7!i 13)1X2+3X4+5X6+-+39X404)3 5Y=X- + X3
37、!5!X 7+ + (-1)7!n+1X2n1+的值,精确到10-6。(2n 1)!<3>打印下面图形。121编程产生出1到10以内的所有数对<i,j>并输出,其中i>j。 编程求出10000以内的所有符合如下条件的数:3578等。但21, 548不符合条件。<6>求任一整数N的标准分解式,即素数因子之积。解:<1># in clude <iostream><4><5>其高位数字小于低位数字。如12,238,例如 16=2*2*2*2 ,15=3*5。else#in clude <cmath>
38、using n amespace std;z=log10(abs(x+y)+1);cout<<z<<e ndl; T1 C:U5 ersAd ml n!strator.D&5 ktopint main()int x,y;float z;cout<<"e nter x,y"<<e ndl;cin> >x»y;if(x<0 && y<0) z=exp(x+y);else if(1<=(x+y) && (x+y)<10) z=log(x+y);re
39、turn 0;L 1 L6931-1?eny keif to continue<2>1) # in elude <iostream>using n amespace std;int mai n()int n=100;int sum=0;for(i nt i=1;i<=n ;i+) sum+=i;2) # in clude <iostream>using n amespace std;int mai n()int n=7;int sum=0;for(i nt i=1;i<=n ;i+)int s=1;for(i nt j=1;j<=i;j+)
40、3) # in clude <iostream>using n amespace std;int mai n()int sum=0;for(int i=1;i<=39;i+=2) sum+=i*(i+1);cout<<"1 X 2+3 X 4+5 X 6+ +39 X4) # in clude <iostream>#in clude <cmath>using n amespace std;float f(int x,i nt n)int s=1;for(i nt i=1;i<=n ;i+) s*=i;return pow(x
41、, n)/s;cout<<sum<<e ndl;return 0;*_l *C:Ls&rsAdmi ristratcrDesktc5950Pu'ess a_nyto canbinLies*=j;sum+=s;cout<<"1!+2!+7!="<<sum<<e ndl;return 0;s ' X2+3 X4+5 X6*"*+39 X40=110S0T*ess an*/ 1吐y tu continueint mai n()float x,y=0;cout<<"e
42、 nter x"<<e ndl; cin>>x;for(i nt i=1;i+=2;) y+=pow(-1,i+1)*f(x,i); if(f(x,i)<1e-6) break;cout<<y<<e ndl; C:Us e r&Ad m i ni stra tor Qe s kto pwL!+2!+-'*7!any keif to continue40="<<sum<<e ndl;return 0;1C: U 5«rsAd m i m Strato rDes ktopwe
43、S-"i'2return 0;'C: ' U5er5AdiTiini stratarDe5ktopienter x4p35.6956Press any Ite to continue<5># in clude <iostream>using n amespace std;<3># in elude <iostream.h>#in elude <math.h>#i nclude <ioma nip.h>int mai n()for(int i=1;i<=11;i+)for(i nt j
44、=1;j<=11_i;j+) cout<<""for(j=1;j<=2*i-1;j+)cout<<setw (3) <<2*i-1-abs(i-j)*2;cout<<e ndl;return 0;BC;U se rsAd mini Strato rC»e 5 kto实验设计、D 亡 bu 叭克轻i殳计.exe"51573111311?7357?11131513119S?911131517IE1311?911131517191715139111315171921191715
45、11313E1357Pre営豊 mnyke*13£3113F753135797Sto continue131531753975<4># in clude <iostream> using n amespace std;int mai n()cout<<'<'<<i<<','<<j<<'>'cout<<e ndl;return 0;for(int i=1;i<=10;i+)for(i nt j=1;j<i;j+)&quo
46、t;CU sersAdmi nistrato rDes ktDp'we、实验设计Debug实验设计,exek2J.lK3,l><3,2X41.lX4,2X4>3X5,lX5>2>C5,3X5,4><G,l><6.2X6,3XB,4><fiJ.5X7,l> <7,2><?,3><7,4><7,5><?,6X8,lX8J2><8,3><fi,4><B,5>C8,6><8,7><9.1><9
47、,2><9,3><9,4> <9,5 ><?,&>< 9,7X9,6 ><10, 1X10,2 ><10, 3 ><10,-4X10,5 Xie, 6X10, 7X10,6 ><10, 9> Press any key to contlnue_int mai n()a=b;for(int i=1;i<=10000;i+) int a=i%10,b, n=i;don/=10;b=n%10;if(b>=a) break;while( n!=0); if(n=0) c
48、out<<i<<''cout<<e ndl; *C:U sersAd m i 屆trator'D 点主 ktop.w4室3&避bHDebti 事宴1能设计.tx色b3?13£3SR461 2 95 6 7 B 9 12 13 14 15 It 17 18 19 23 24 25 2& 27 2S 2? 3445 46 4? 4856 57 58 5乎 67 £8137 13S237346 34713?阳f:34824S356357HB24735869 78 79 S? 14?24R35?156249
49、367173E8123ISO124 1251572SS37816?2S937?126 12716S 16?2f»7 2£R389 45635 36 37 3912817B12?17?27R45813118727?45?746846? 478 m1伽5&7 '5仍 5781 5795旳1&7S 6?9 6891 78912341235123612371238123?1215124612471218124?135612571258125912671268126?12781?7912«9134S1347114H134913S£13S?1
50、3K813S913£?13&B1369137R179nn91456145714814591467146814691478147?H8915671568156915781579158916?«1&7916S917892 34&2316234723482349豳56235?23592367236023&?2 37®2377238?24562-1572458245924672466亦們2478247?2499256726825692792肿愿西2A79?fi»927fi934734fi7349347*34793489356735
51、&8356935783579358936783793689378945674嗣45694578457945894&7846794689478956785679568957896789rreseAny key coconcinue457J?亦345<6># in clude <iostream> using n amespace std;int mai n()int n;cin»n;cout< <n< <'='for(i nt i=2;i<=n ;i+) if(n %i=0) cout<<
52、i; break;n/=i;for(i=2;i<=n ;i+) while( n%i=0) cout<<"*"<<i; n/=i;cout<<e ndl; return 0;'C:' LI Gers'1 Ad minist ratorD 已 5 ktcrp'w 已'1616 =2 *2 *2 *2Pressto continue3. 分析与思考*<1>编程求出数列的所有升或降的最大子序列。如下面数列的解为如下:1,20,30,12,3,5,7,4,6,100,11,8(1,20,3
53、0),(30,12,3),(3,5,7),(7,4),(4,6,100),(100,11,8)。*<2>编程求12100的末三位数。解:<1># in clude <iostream>using n amespace std;break;cout<<"),(" cout<<a;while(a>b) cout<<","<<b; a=b;if(n=num) break; cin> >b;n+; if(n=nu m) cout<<")&q
54、uot;break;cout<<")"const int num=12;int mai n()static int n=2;int a,b;cin> >a;cin> >b;while(1) cout<<"("<<a; while(a<b) cout<<","<<b; a=b;if(n=num) break; cin> >b;n+; if(n=nu m) cout<<")"1j 'CrU sers
55、Ad minktrato煤验授吉帖 hiDebug3.exe"1 20 30 12 3 5 7 4 6 100 11 8 <l,20,3G)X38,12,3?<3,5p7>,<7,4><4,&,lBR>,<100r11.8>Prcss key to continue<2># in clude <iostream> using n amespace std;int mai n()int a=1;for(int i=1;i<=100;i+) a=a*12; a=a%1000; cout<&l
56、t;a<<e ndl; return 0;卜"C:Us e rsAd mini&tratorXDes Irto pl 实验損 f3?6Press anip k亡y to continue实验三数组1. 实验目的要求(1) 掌握一维数组和二维数组的定义、初始化赋值、元素引用的方法。(2) 初步了解数组名与地址的关系。(3) 掌握字符数组和字符串函数的使用。4) 掌握与数组有关的算法(特别是排序和查找算法)2. 实验内容(1)阅读下列程序,写出其运行结果,并指出其功能。 <1>#include <iostream.h>#define N 10v
57、oid main()int aN;int s,i,j,t;for ( i = 0 ; i < N ; i + ) if ( i % 2 ) a i = i * i ; else a i = 100 - ( i / 2 ) * ( i / 2 ) ;for ( i = 0 ; i < N ; i + ) cout << a i ;cout << endl ;s = 0 ;for( i = 0 ; i < N ; i + ) s = s + a i ;cout << “ sum of a =”<< s ;for( i = 0 ; i
58、 < N ; i + )t = a i ;j = i - 1 ;while( j >= 0 && t > a j ) a j + 1 = a j ; j - ;a j + 1 = t ;for( i = 0 ; i < N ; i + ) cout << a i ;cout << endl ;解:输出 1001999962591498481Sum of a =6351009996918481492591 功能:第一个 for 循环内, 当 i 取奇数时, 数组 a 中第 i 个数就为 i 的平方, 否则, 数组 a 中第 i 个数
59、为 100-(i/2)*(i/2) ,此循环后输出为 1001999962591498481 , 也就是最终输出的第一行。 第二个 for 循环内, 求的是数组 a 内各元素之和。 输出 为 sum of a =635 。第三个 for 循环内嵌套一个 while 循环,显得比较复杂,描述 困难,输出为 1009996918481492591 。<2>#include <iostream.h>#include <string.h>void main( )char a 20 = ”TER”, b 20 = ”COMP ”;int i = 0 ;strcat(
60、a , b ) ;while (a i + != '0') b i = a i ;cout << b ;解:输出 CERCOMPP功能:程序读入字符数组 a和b内的字符,并拼接,得到a字符数组内容为TERCOMP 在 while 循环内,第一次起条件便满足,由于 i 为先引用后自增的关系,得到 b数组第一个为 C剩下的为拼接后a数组T后的字母,最后输出 b为CERCOMP<3>#include <iostream.h>void main( )int i = 0 , base , n , j , num 20 ;cin >> n >> base ;doi +;num i =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 康复器械销售培训课件
- 疼痛评估与治疗原则
- autocad学习第10章剖面线的绘制
- K线理论扫盲资料
- ASX用户手册说明培训
- ARROW经外周置入中心静脉导管
- 公司上半年财务总结
- 2026北师大二下最喜欢的水果教学课件
- 高速公路隧道爆破专项施工方案
- 2026四上数学重难点说课课件
- GB/T 17394.1-2025金属材料里氏硬度试验第1部分:试验方法
- 履带吊课件教学课件
- 暨大干细胞培训课件
- DB11-T 3035-2023 建筑消防设施维护保养技术规范
- 警犬上课课件
- 2025广西壮族自治区药用植物园招聘高层次人才21人笔试模拟试题及答案解析
- 重庆国资管理办法
- 1688运营培训课件
- 法治副校长培训
- 环卫保洁员安全知识与防护培训
- DLT5210.1-2021电力建设施工质量验收规程第1部分-土建工程
评论
0/150
提交评论