200-8-2计算机程序计-习题课(zpyang).ppt_第1页
200-8-2计算机程序计-习题课(zpyang).ppt_第2页
200-8-2计算机程序计-习题课(zpyang).ppt_第3页
200-8-2计算机程序计-习题课(zpyang).ppt_第4页
200-8-2计算机程序计-习题课(zpyang).ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

计算机程序设计(C+),习题课(1-8章)教师:杨振平E-mail:zpyang,2011-2012第2学期,1,主要内容,基本数据类型运算符与表达式选择结构循环结构数组字符串函数指针结构,2,例1输出ASCII32-126之间字符与编码,输出形式:,3,#includeusingnamespacestd;intmain()inti;for(i=32;i=126;i+)cout(char)iit;if(i-31)%8=0)coutendl;coutendl;return0;,inti;charch;for(i=32;i=126;i+)ch=i;coutchit;if(i-31)%8=0)coutendl;,for(i=;i=;i+)for(ch=;ch=;ch+)coutch(int)cht;if(ch-31)%8=0)coutb)tmp=a;a=b;b=tmp;,交换a与b,6.if(a=2)a=0;如果a等于2,则使a改为0,7.if(00,c0),9.intf(charsn);,10.sort(a20);,11.intn=5;intan;,12.inta10;for(i=0;ia;coutstr21;coutp;反转字符串charstr41=“abcdefg”;k=strlen(str);for(i=0;ik/2;i+)t=stri;stri=strk-i;strk-i=t;,10,编写函数maxmin,找出n个元素的一维整型数组中的最大值和最小值。函数原型设计如下:(1)voidmaxmin(inta,intn,int,11,x,例2计算第i个小的回文数,一个自然数如果把所有数字倒过来以后和原来的一样,那么我们称它为回文数。例如151和753357。我们可以把所有回文数从小到大排成一排:1,2,3,4,5,6,7,8,9,11,22,33,.注意10不是回文数,虽然我们可以把它写成010,但是在本题中前导0是不允许的。你的任务是求出第i个回文数。例如第1,12,24大的回文数分别是1,33,151。,12,boolIsPoll(intn)intk10,j=0;while(n!=0)kj+=n%10;n/=10;for(inti=0;ii;n=0;intp;,14,while(ni)if(IsPoll(m)p=m;n+;m+;coutpn;,16,a00=1;for(i=1;in+1;i+)ai0=ai-10+i-1;for(j=1;jn+1-i;j+)aij=aij-1+i+j;,17,18,for(i=1;in+1;i+)coutleft;for(j=0;jn+1-i;j+)cout3aij;coutendl;return0;,19,例4:找出210000之内的所有完全数,所谓完全数,即其各因子之和正好等于本身的数。如:6=1+2+3,28=1+2+4+7+14,所以6,28都是完全数。,算法:for(n=2;n=10000;n+)sum=0;for(m=1;mn;m+)if(n%m=0)sum+=m;if(n=sum)coutn“是一个完全数.”endl;,#includeusingnamespacestd;intmain()intn,m,sum;for(n=2;n=10000;n+)sum=0;for(m=1;mn;m+)if(n%m=0)sum+=m;if(n=sum)coutn是一个完全数.endl;return0;,输出格式1:,程序代码,#includeusingnamespacestd;intmain()intn,m,sum,i,a200;for(n=2;n=10000;n+)i=0;sum=0;for(m=1;mn;m+)if(n%m=0)sum+=m;ai+=m;if(n=sum)coutn=;for(intj=0;ji;j+)if(j=i-1)coutajendl;elsecoutaj+;return0;,输出格式2:,a200,i=0;,ai+=m;,if(n=sum)coutn=;for(intj=0;ji;j+)if(j=i-1)coutajendl;elsecoutajm;convert(m,strm);coutstrmstr;m=strToint(str);cout对应的整数:mendl;return0;,26,例6四阶方阵的转置,46894231274567853816158416715711951511,27,/求M的转置矩阵for(i=0;i4;i+)for(j=i+1;jn;strcov(s,n);coutsendl;return0;,30,例8:计算50!,算法:当n较大时,不能直接计算n!,使用数组的方法来实现。假如用100个元素的数组计算,每个数组元素存放一位数字,则精度可达100位。设intn=5;inta10=1,sc=0;/sc为进位值a9a8a7a6a5a4a3a2a1a00000000001ik=a0*i+sc;sc=k/10;a0=k%10;k=aj*i+sc;sc=k/10;aj=k%10;i=25,j=09,31,利用数组计算9!,a0=1;for(i=2;i=9;i+)sc=0;for(intj=0;j10;j+)k=aj*i+sc;sc=k/10;aj=k%10;,计算9!,intmain()constintMAXSIZE=20;intarrayMAXSIZE;intn=9;intsum,sc;for(inti=0;i=0;-i)cout=0;-j)cout;coutiendl;sc=0;for(j=0;j=0;-j)cout=0;-i)coutarrayi;coutendl;return0;,constintMAXSIZE=100;intarrayMAXSIZE;intn=50;/50!intsum,sc;for(inti=0;iMAXSIZE;i+)arrayi=0;/数组元素置0array0=1;for(i=2;is2;,36,xl=s1.size();yl=s2.size();if(xlyl)s1.swap(s2);inttemp;temp=xl;xl=yl;yl=temp;,37,for(inti=yl-1,j=0;i=0;i-,j+)yi=s2j-0;cout=0;i-,j+)xi=s1j-0;coutendl;,38,intd;for(i=0;iyl;i+)d=0;for(intj=0;j100;j+)intt=xj*yi+d;wj=t%10;d=t/10;,39,d=0;intk;for(k=i,j=0;k=0;i-)coutzi;coutn;s=0for(inti=1;i=n;i+)s+=float(a)/b;c=a;a=a+b;b=c;cout“前n项和为:”sendl;,例12控制菜单设计,定义学生信息数组(最多100个元素),每个学生信息包括:学号、姓名、性别、年龄、班级。设计如下控制菜单并完成各项功能:学生信息管理系统-1-输入学生信息2-显示学生信息3-插入学生信息4-删除学生信息0-退出管理系统-请选择(0-4):,43,44,#includeusingnamespacestd;structstudentcharnum21;charname21;charsex;intage;charClass21;studentstu100;/全局数组intcount=0;/全局变量,while(1)coutnn;cout学生信息管理系统endl;cout-endl;cout1-输入学生信息endl;cout2-显示学生信息endl;cout3-插入学生信息endl;cout4-删除学生信息endl;cout0-退出管理系统endl;cout-endl;

温馨提示

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

评论

0/150

提交评论