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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

计算机C++程序设计实验报告.docx

1、计算机C+程序设计实验报告C+程序设计实验报告 实验一、字符和格式的输出实验一,实验目的1、重点把握各种内部数据类型、数值和逻辑运算,各种表达式、函数声明、定义和调用。2、掌握过程控制编程方法,正确编制多重循环过程,对简单问题能够临场加以解决。3、学会使用简单的c+标准库;4、学习良好的编程习惯和形成自己的编程风格。二、实验设备与环境 装有C+语言工具软件 (Vs2008)的计算机。三、 实验内容a) P.30,3.2.1,字符三角形;b) P.31,3.2.2,背靠背字符三角形;c) P.32,3.2.3交替字符倒三角形;d) P.33,3.2.5,格式阵列一。四、实验过程及结果1.1字符三

2、角形【问题描述】:根据读入的字符值以及三角形的高,输入以该字符为填充字符的等腰三角形。【输入描述】:输入数据含有不超过50组的数据,每组数据包括一个可见字符c(33=c=126)和一个整数n(1=n=30)。【输出描述】:输出以c为填充字符、高为n的等腰三角形,勾画每个三角形时都应另起 一行。【程序代码】:#include#includeusing namespace std;int main()char c;for(int n; cincn; )for(int i=1; i=n; i+)coutstring(n-i, )+string(2*i-1,c)+n;【输入】:A 5 B 3【输出】:

3、1.2 字符菱形【问题描述】:根据读入的字符和边长,勾画字符菱形。【输入描述】:输入数据含有不超过50组的数据,每组数据包括一个可见字符c和一个整数n(1=n=30)。【输出描述】:输出以c为填充字符、边长为n的菱形,勾画每个菱形时都应另起一行。【程序代码】:#include#includeusing namespace std;int main()char c;for(int n; cincn; )for(int i=1; i=n; i+)coutstring(n-i, )+string(2*i-1,c)+ n;for(int i=1; i=n-1; i+)coutstring(i, )+s

4、tring(2*n-1-2*i,c)+ n;【输入】: A 5 B 3【输出】:1.3背靠背字符三角形【问题描述】:根据读入的字符和高,勾画背靠背字符三角形。【输入描述】:输入数据不超过50组的数据,每组数据包括一个可见字符c和一个整数n(1=n=30)。【输出描述】:输出以c为填充字符,高为n的背靠背字符三角形,勾画每个三角形时都应另起一行。【程序代码】:#include #include using namespace std; int main() char c; for(int n; cincn; ) for(int i=1; i=n; i+) coutstring(n-i, )+st

5、ring(i,c)+ +string(i,c)+n; 【输入】: W 5 B 3【输出】:1.4 格式阵列一【问题描述】:根据读入的阶,按样例打印格式阵列。【输入描述】:输入读入的阶,按样例打印格式阵列。【输出描述】:输出以n为阶的格式阵列。每行开始先打印行号,行号为两个字符宽,右对齐,行号与元素之间空2格。每个元素占3个字符宽。右对齐,元素值起始位置为0,以后每向右前进一个,元素值便取前一元素加1除n的余数,每进到下一行,起始的元素值为上一元素加1除以n的余数,以此类推。每个格式阵列之间应有一空行,最前与最后不应有空行。【程序代码】:#include using namespace std;

6、int n,casen;void computing() for(int i=0;in;i+) cout i+1; cout i; for(int t=1;tn;t+) cout (i+t)%n; coutn) if(casen0) coutendl; computing(); casen+; return 0;【输入】: 6 3【输出】: 实验二、字符和数字运算实验一、实验目的 1、重点把握各种内部数据类型、数值和逻辑运算,各种表达式、函数声明、定义和调用。2、掌握过程控制编程方法,正确编制多重循环过程,对简单问题能够临场加以解决。3、学会使用简单的c+标准库;4、学习良好的编程习惯和形成自

7、己的编程风格。二、实验设备与环境 装有C+语言工具软件 (Vs2008)的计算机。三、实验内容a) P.44,3.6.1,逆反01串;b) P.44,3.6.2,倒杨辉三角形;c) P.45,3.6.3,“顺”序列;d) P.46,3.6.4,数字和。4、实验过程及结果2.1逆反01串【输入描述】:输入数据含有不多于50个的01串,每个字串的长度不大于200.【输出描述】:按输入的01串输入对应的10串,每个字串单独占一行。【程序代码】:#includeusing namespace std;int main() string s; int i,m=1; for(;cins;m+) if(s.

8、length()=200) for(i=0;is.length();i+) if(s.substr(i,1)=1) cout0; else cout1; else break; cout50) break; 【输入】:01101001001001000000010000000000【输出】:2.2 倒杨辉三角形【输入描述】:输入数据中包含了不多于50个的整数n(1=n=10).【输出描述】:以n为行数,其打印出的倒杨辉三角形(每个数据占三个字符),每个倒三角形之间没有空行,见样本输出。【程序代码】:#include using namespace std;const int maxn=10;i

9、nt amaxn+10maxn+10,n;void ini() for(int i=1;i=maxn;i+) aii=1;ai1=1; for(int i=3;i=maxn;i+) for(int j=2;jn) for(int i=n;i=1;i-) for(int j=i;jn;j+) cout ; for(int j=1;j=i;j+) coutaij ; coutendl; return 0;【输入】:53【输出】:2.3“顺”序列【输入描述】:输入中第一行为一个整数n(1=n=10),描述后面一共有n组卡片,每组卡片的第一个数m(1=m=100),表示后面会出现m张卡片。【输出描述】

10、:输入每组卡片,判断是否能构成“顺”序列。如果能构成“顺”序列,则输出yes,否则就输出no。每个结果应分别不同行显示。【程序代码】:#include#includeusing namespace std;bool compute(int *a,int m) int i,j,max=0; for(i=0;imax) max=ai; for(i=0;im;i+) for(j=0;j=m) return false; return true;int main() int *a; int n=0; int m=0; string *b; int i,j; int rsize=0; coutn; b=

11、new stringn; j=0; while(jn) coutm; a=new intm; cout请输入一连串数据:endl; for(i=0;iai; if(compute(a,m) bj=Yes; else bj=No; delete a; j+; cout输出:endl; for(i=0;in;i+) coutbiendl; delete b; return 0;【输入】:24 5 7 6 8 8 1 7 3 2 8 12 78 3【输出】:2.4 数字和【输入描述】:输入数据中包含了不多于50个的正整数n【输出描述】:每个正整数都应输出一个各位数字和,并独占一行。【程序代码】:#i

12、nclude #include using namespace std;int main() string st; while(getline(cin,st) int ans=0; for(int i=0;i=0 & sti=9) ans+=sti-0; coutansendl; return 0;【输入】:123455612382【输出】:五、实验小结: 本次试验重点学习了各种数据类型,逻辑运算,函数的声明,定义和调用。在过程控制过程中,熟练地使用多重循环,同时应养成良好的编程习惯和形成自己的编程风格,一边为日后的学习打下坚实的基础。实验三、加密和解密算法实验一、实验目的 1、重视数学方法,

13、提高数学推算和编程表的转换能力。2、拓展编程表达的方法,熟练运用函数等手段进行计算模块的分离计算。3、进一步学会使用c+标准库;4、在保证编程程序正确的条件下,关注数据结构和算法,改进效率。二、实验设备与环境 装有C+语言工具软件 (Vs2008)的计算机。三、实验内容a) P.98,7.2.1,密钥加密;b) P.99,7.2.2,密钥解密;4、实验过程及结果3.1 密钥加密【实验代码】:#include #includeusing namespace std;int main() while(1) char key100,data101; cin.getline(key,100); cin

14、.getline(data,100); coutkey; int i=0,j=0; for(i=0;istrlen(data);i+) for(j=0;j=strlen(data) break; datai+=keyj-0; if(datai122) datai=datai-123+32; i+; i-=1; coutdataendl; return 0;【输入】:4972863The result of 3 and 2 is not 8123Hello world【输出】:3.2 密钥解密【实验代码】:#include #includeusing namespace std;int main

15、() while(1) char key100,data101; cin.getline(key,100); cin.getline(data,100); coutkeyn; coutdatan; int i=0,j=0; for(i=0;istrlen(data);i+) for(j=0;j=strlen(data) break; datai-=keyj-0; if(datai32) datai=datai-32+123; i+; i-=1; coutdataendl; return 0;【输入】:4972863xql”zkvyu “wl#7)hpl”5$rx”vuw$A123Igomq#X

16、qumf【输出】:五,实验小结: 通过本次实验,对加密解密有一定的了解,密钥加密就是将密钥数字串值循环加到明文上,使得明文不可阅读,解密就是加密的反过程。实验中,遇到一些问题,字符串的读入和输出以及循环表达式的设计,通过查阅资料和上网查阅,最后算是解决问题。实验四、数字算法实验一、实验目的 1、重视数学方法,提高数学推算和编程表的转换能力。2、拓展编程表达的方法,熟练运用函数等手段进行计算模块的分离计算。3、进一步学会使用c+标准库;4、在保证编程程序正确的条件下,关注数据结构和算法,改进效率。二、实验设备与环境 装有C+语言工具软件 (Vs2008)的计算机。三、实验内容a) P.102,7

17、.3.1,n!的位数;b) P.103,7.3.2,排列对称串;c) P.103,7.3.3,勒让德多项式表;d) P.104,7.3.4,立方数和连续奇数和;4、实验过程及结果4.1 n!的位数 【基本描述】:针对每个非负整数n,计算n!的位数【输入描述】:输入数据中含有一些整数n(0=n107)【输出描述】:根据每个整数n,输出n!的位数,每个数占独立一行。【主要代码】: #include #include using namespace std;int main()double N,logV;int i;while(couti)N=i;for(i=1,logV=0;i=N;i+)logV

18、+=log(1.0*i);logV/=log(10.0);coutN!的位数:(int)(logV+1)endl;return 0;【输入】:5 6【输出】:4.2 排列对称串【基本描述】:一些字串,有些是对称的,有些是不对称的。请将那些对称的字串按从小到大的顺序输出。字串先以长度论大小,如果长度相同,再以ASCII码值大小为标准。【输入描述】:输入数据中含有一些字串(1=串长=256) 【输出描述】:根据每个字串,输出对称的那些串,并且要求按从小到大的顺序输出。【代码如下】:#include #include #include #include #include using namespac

19、e std; bool Comp(const string &s1,const string &s2) return s1.length()!=s2.length()?s1.length()s2.length():s1s2; int main(int argc,char * argv) vector v; string t,s; while(cins) t=s; reverse(t.begin(),t.end(); if(t=s) v.push_back(s); if(cin.get()=n) break; sort(v.begin(),v.end(),Comp); for(int i=0;i

20、v.size();i+) coutviendl; system(pause); return 0; 【输入】:123321123454321123321sdfsdfd121212dd【输出】:4.3 勒让德多项式表【基本描述】:数学poly函数的展开式也称关于x的n阶勒让德多项式,它的递推公式为:给定x,请计算n阶勒让德多项式的值。【输入描述】:输入数据中含有一些浮点数x(0x1)【输出描述】:对于每个x,分别计算2阶,3阶,4阶,5阶,6阶的勒让德多项式的值,其每个值的精度为6位小数。输出时,先列出x的值,保留3位小数精度,然后每输出一个阶值之前,都空出2格,由此一字排开,形成一张多项式表【

21、代码如下】:#include #includeusing namespace std;double poly(int n,double x);int main() int i=0; for(double x;cinx;) if(i=0) cout x p2(x) p3(x) p4(x) p5(x) p6(x)endl; i=1; coutfixedsetprecision(3)xsetprecision(6); for(int i=2;i=6;i+) coutsetw(11)poly(i,x); coutendl; double poly(int n,double x) if(n=0) ret

22、urn 1; if(n=1) return x; return (2*n-1)*x*poly(n-1,x)-(n-1)*poly(n-2,x)/n;【输入】:0.2 0.3 0.35【输出】:4.4 立方数与连续奇数和【基本描述】:一个整数的立方数,可以表示为连续奇数的和,例如:33=7+9+1143=13+15+17+19针对每个正整数n,输出表示其立方数的连续奇数和【输入描述】:输入数据中含有一些整数n(1=n=100)【输出描述】:根据每个整数n,输出其值等于n3的连续奇数和【代码如下】:#include using namespace std;int main()int i,n,j,a

23、5; cinn; for(i=0;iai; for(i=0;in;i+) int m=ai*ai-ai+1; for(j=0;jai;j+) coutm ; m+=2; coutendl; return 0;【输入】:3 4 8【输出】:4.5 斐波那契数【基本描述】:根据输入数据中的n,输出第n项斐波那契数。【输入描述】:输入数据中含有一些整数n(0=n=46)【输出描述】:根据每个整数n,输出其第n项斐波那契数,每个数独占一行。【代码如下】:#include #include using namespace std;int main() int n; vector v; v.push_back(0); v.push_back(1); for(int k = 2; k n) cout vn n*n = x+n-1 - x=n*n-n+1。实验五、大数运算算法实验一、实验目的 1、重视数学方法,提高数学推算和编程表的转换能力。2、拓展编程表达的方法,熟练运用函数等手段进行计算模块的分离计算。3、进一步学会使用c+标准库;4、在保证编程程序正确的条件下,关注数据结构和算法,改进效率。二、实验设备与环境

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1