c++习题集 及参考答案_第1页
c++习题集 及参考答案_第2页
c++习题集 及参考答案_第3页
c++习题集 及参考答案_第4页
c++习题集 及参考答案_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

《C++习题集》10月22日(1)求二次方程的根(考虑多种状况)(2)输入一字符,鉴定该字符时英文字母,还是数字字符,还是其它字符。10月29日(3)输出100—1000之间能被3整除或个位100是3的整数,每行输出10个。(4)求前n项和不超出5000的最大整数n。(5)对于任一整数n,输出其全部的因子。(重复的不计,如12:1,2,3,4,6,12)(6)求出1000内的完数。(完数是指因子之和与本身相等的数,如6=1+2+3)(7)求出全部的水仙花数。(水仙花数是个三位数,每个数与该数每位的立方和相等:如:153=13+53+33)11月1日(8)求出PI的值。PI=4*(1-1/3+1/5-1/7+1/9-…….),当某项的绝对值不大于0.000001时停止。(9)输入10个同窗的成绩(0到100之间),输出最高分和最低分。(10)输入一种正整数,求出其反序数。(如2789,输出9872)。(11)对于任一整数n,输出其全部的因子。(重复的计,如12:2,2,3)11月5日(12)求出100—10000内的素数。(13)输入x,求出sinx的值(精度自定)。(sinx=x–x3/3!+x5/5!-x7/7!+……)(14)求任意两个正整数的最大公约数。(15)打印以下的图形。12345612345123412312111月15日(16)求f(x)=x2+5x-6在【3,5】区间上的积分值。(17)分别用牛顿法和二分法求方程2x3-4x2+3x-6=0在x=1.5附近的实数根,精度ε=10-5(18)求满足下列条件的最小自然数n:(1)n的个位数是8,;(2)将n的个位移至n的最前面,所得的新数是n的4倍。11月19日(19)输入10个数,将其中不大于平均值的数输出来。(20)输入10个数,将其中的最大数调到最后位置,输出重排后的成果。(21)已知a0=1,a1=2,an=an-1+an-2(n>=2),求an的前20项。(22)用数组实现两个13位数的加法。11月24日(23)输入10个数,用冒泡法进行排序。(24)输入10个数,用选择法进行排序。(25)输入10个数(有序),用二分法进行查找。(26)将两个有序数组合并为一种有序数组。如{1,5,9,11,15},{2,3,12,13,17}合并为{1,2,3,5,9,11,12,13,15,17}11月26日(27)输入一字符串,统计其中每种英文字母(26个,大小写按一种计数)出现的次数。(28)将一正整数转化为字符串。(29)删除字符串中指定的字符。(30)输入某人的身份证号码,输出其年纪。11月29日(31)自定义每一种英文字母的对应规则,对字符串加密。(32)输入行数,打印以下的杨辉三角。112133146415101051。。。。。。。。。。(33)找出一种矩阵中的全部鞍点。(所谓鞍点,是指该元素在所在的行上是最大值,在所在的列上是最小值)12月3日(34)编写一函数,判断整数与否只由奇数数字构成。(35)编写一函数,用海伦法计算三角形面积。[S=sqrt(p(p-a)(p-b)(p-c)),其中p=0.5(a+b+c)](36)编写一函数,返回整数某一指定位的数值。(intdigitR(12345,2),返回4。)(37)编写一函数,判断某整数与否是回文数。并用该函数找出1000内的回文数。12月6日(38)编写一函数,统计字符串中指定字符的出现次数。(39)编写一函数,返回一整型数组中最小元素的下标,如果有多个最小元素,返回最小的下标。(40)编写一函数,将一整型数组中的元素诸循环右移j位。(41)编写一函数,判断矩阵与否是对称矩阵。12月13日(42)先阅读下面的程序,写出成果。然后运行该程序,检查你的成果。#include<iostream>usingnamespacestd;intmain(){inti=111;charch='1';cout<<ch<<""<<i<<endl;{inti=222;charch='2';cout<<ch<<""<<i<<endl;if(i>0){doublei=300.3;intch=333;cout<<i<<""<<ch<<endl;}cout<<i<<""<<ch<<endl;}cout<<i<<""<<ch<<endl;}(43)先阅读下面的程序,写出成果。然后运行该程序,检查你的成果。#include<iostream>usingnamespacestd;inti=5;voidfunc(void);intmain(){staticinta;intb=-22;intc=0;cout<<a<<""<<b<<""<<c<<endl;c=c+10;func();cout<<a<<""<<b<<""<<c<<endl;i=i+12;func();}voidfunc(){staticinta=3;staticintb;intc=10;a=a+2;i=i+21;c=c+6;cout<<a<<""<<b<<""<<c<<endl;b=a;}(44)先阅读下面的程序,写出成果。然后运行该程序,检查你的成果。#include<iostream>usingnamespacestd;inti=11,j=22;longf1(intn){staticlongres=1;cout<<i++<<""<<j++<<endl;res=res*n;returnres;}longf2(intn){staticlongres=1;cout<<i++<<""<<j++<<endl;res=res*n;returnres;}intmain(){inti=2,j=5;cout<<f1(i)<<endl;cout<<f2(j)<<endl;cout<<i<<""<<j<<""<<endl;i++;cout<<f1(i)<<endl;i++;cout<<f1(i)<<endl;cout<<i<<""<<j<<""<<endl;}(45)用递归的办法将一数字字符串转化为一整形值。12月15日(46)编写一递归函数,intgcd(intm,intn),返回m,n的最大公约数。(47)编写一递归函数,返回一整形数组中的的最大数。(48)编写一递归函数,返回一整形数中各位数之和(如234,返回2+3+4=9)。(49)编写一递归函数,统计字符串中指定字符的出现次数。12月17日(50)定义用三种办法求三角形面积的重载函数(已知三顶点坐标;已知底和高;已知两边和它们的夹角。)(51)用指针和引用两种办法来实现两个变量数据的交换[voidswap(int&,int&);voidswap(int*,int*)](52)验证三角形三边的中垂线交与一点,且交点是三角形外接圆的圆心。12月20日(53)定义一字符数组,分别用数组首地址和指针的办法实现查找字符串中与否存在所指定的字符。(54)定义inta[3][4],使用地址的办法,找出数组中每行最大值,并输出数组的值。(55)用指针的办法,实现二字符串的连接。(56)用指针的办法,实现数组的选择法排序。12月24日(57)使用指针完毕下列任务,读入10个数据,输出其中不同的数。(即只输出其中不同的数)。(58)将下列同窗的姓名升序排序。(“zhangyi”,“wangfei”,“liushan”,“zhaoxiang”)。(59)用动态分派内存的办法,实现任意大小矩阵的转置。12月27日(60)一旦创立一种数组,其大小就固定了。当我们向数组中输入更多的数据时,由于数组已满,我们必须创立一种更大的新的数组来替代目前的数组。编写一种函数,函数头以下:int*doublesize(int*list,intsize);函数返回一种新数组,大小是list的两倍。(61)编写一种函数,检查字符串s1与否是字符串s2的子字符串,若是,返回第一次匹配的下标,否则返回-1。(62)编写一种函数,判断两个单词与否为字母易位次。如“silent”和“listen”就是易位词。《C++习题集》参考答案(3)#include<iostream>usingnamespacestd;intmain(){inti,count=0;for(i=100;i<=1000;i++){if(i%3==0||i%10==3){cout<<i<<"";if(count%10==9)cout<<endl;count++;}}return0;}(4)#include<iostream>usingnamespacestd;intmain(){inti=1,sum=0;while(sum<=5000){sum+=i;i++;}cout<<i-2<<endl;return0;}(5)#include<iostream>usingnamespacestd;intmain(){inti,n;cin>>n;for(i=1;i<=n;i++){if(n%i==0)cout<<i<<endl;}return0;}(6)#include<iostream>usingnamespacestd;intmain(){inti,j,sum;for(i=1;i<=1000;i++){for(j=1,sum=0;j<i;j++)if(i%j==0)sum=sum+j;if(sum==i)cout<<i<<endl;}return0;}(7)#include<iostream>usingnamespacestd;intmain(){inti,bit0,bit1,bit2;for(i=100;i<=999;i++){bit0=i%10;bit1=i/10%10;bit2=i/100;if(bit0*bit0*bit0+bit1*bit1*bit1+bit2*bit2*bit2==i)cout<<i<<endl;}return0;}(8)#include<iostream>usingnamespacestd;intmain(){doublepi=0,t;intn=1,s=1;while((t=1.0/n)>0.000001){pi+=s*t;n=n+2;s=-s;}cout<<4*pi<<endl;return0;}(9)#include<iostream>usingnamespacestd;intmain(){doublex,max=-1,min=101;inti;for(i=1;i<=10;i++){cin>>x;if(x>max)max=x;if(x<min)min=x;}cout<<"max="<<max<<"min="<<min<<endl;return0;}(10)#include<iostream>usingnamespacestd;intmain(){intnumber,reverse_number=0;cin>>number;while(number>0){reverse_number=reverse_number*10+number%10;number/=10;}cout<<reverse_number<<endl;return0;}(11)#include<iostream>usingnamespacestd;intmain(){intnumber,i;cin>>number;for(i=2;i<=number;i++){if(number%i==0){cout<<i<<endl;number/=i;i=1;}}return0;}(22)#include<iostream>usingnamespacestd;intmain(){inta[14]={0,1,0,2,2,3,4,5,6,7,1,2,3,4};intb[14]={0,2,9,9,1,3,4,5,6,7,1,2,3,6};boolflag=false;intc[14]={0};for(inti=13;i>=0;i--){c[i]=a[i]+b[i];if(flag==true)c[i]++;if(c[i]>=10){c[i]-=10;flag=true;}else{flag=false;}}if(a[0]!=0)cout<<c[0];for(i=1;i<14;i++)cout<<c[i];cout<<endl;return0;}(45)#include<iostream>#include<cstring>usingnamespacestd;intstr2num(charstr[]){intlen=strlen(str);if(len==1)returnstr[0]-'0';else{intdigit=str[len-1]-'0';str[len-1]='\0';returnstr2num(str)*10+digit;}}intmain(){charstr[80];cin>>str;cout<<str2num(str)<<endl;return0;}(46)#include<iostream>#include<cstring>usingnamespacestd;intgcd(intm,intn){if(m%n==0)returnn;elsereturngcd(n,m%n);}intmain(){intm,n;cin>>m>>n;cout<<gcd(m,n)<<endl;return0;}(47)#include<iostream>usingnamespacestd;intfind_max(inta[],intn,intmax){if(n==0)returnmax;elseif(max>a[n-1])max=find_max(a,n-1,max);elsemax=find_max(a,n-1,a[n-1]);}Intmain(){inta[6]={23,6,14,79,10,1};cout<<find_max(a,5,a[4])<<endl;return0;}(48)#include<iostream>#include<cstring>usingnamespacestd;intsumdigit(intnumber){if(number/10==0)returnnumber;elsereturnsumdigit(number/10)+number%10;}intmain(){intm;cin>>m;cout<<sumdigit(m)<<endl;return0;}(49)#include<iostream>#include<cstring>usingnamespacestd;intcount(charstr[],charch,intlen){staticintcounts=0;if(len==0)returncounts;else{if(str[len-1]==ch)counts++;count(str,ch,len-1);}}intmain(){charstr[80],ch;intlen;cin>>str>>ch;len=strlen(str);cout<<count(str,ch,len)<<endl;return0;}(57)#include<iostream>usingnamespacestd;intmain(){inta[10],temp[10];int*pa,*p_temp;inttemp_count=0;for(pa=a;pa<a+10;pa++)cin>>*pa;for(pa=a;pa<a+10;pa++){boolwrite=true;for(p_temp=temp;p_temp<temp+temp_count;p_temp++)if(*pa==*p_temp){write=false;break;}if(write)temp[temp_count++]=*pa;}for(p_temp=temp;p_temp<temp+temp_count;p_temp++)cout<<*p_temp<<"";return0;}(58)#include<iostream>#include<cstring>usingnamespacestd;intmain(){char*p[4]={"zhangyi","wangfei","liushan","zhaoxiang"},*p_temp;inti,j;for(i=3;i>=1;i--){charcurrent_max[20];intcurrent_max_index=0;strcpy(current_max,p[0]);for(j=1;j<=i;j++)if(strcmp(p[j],current_max)>0){strcpy(current_max,p[j]);current_max_index=j;}if(current_max_index!=i){p_temp=p[i];p[i]=p[current_max_index];p[current_max_index]=p_temp;}}for(i=0;i<4;i++)cout<<p[i]<<endl;return0;}(60)#include<iostream>usingnamespacestd;int*doublesize(int*list,intsize){int*p=newint[size*2];for(inti=0;i<size;i++)*(p+i)=*(list+i);delete[]list; returnp;}intmain(){intsize,i;cin>>size;int*list=newint[size];for(i=0;i<size;i++)cin>>*(list+i);list=doublesize(list,size);cin>>*(list+size);for(i=0;i<size+1;i++)cout<<list[i]<<""<<endl;delete[]list;return0;}(61)#include<iostream>#include<iostream>usingnamespacestd;intindexof(char*s1,char*s2){char*ptrs2,*ptrs1;intj;for(ptrs2=s2;ptrs2<=s2+strlen(s2)-strlen(s1);ptrs2++){for(j=0,ptrs1=s1;*ptrs1!='\0';ptrs1++,j++)if(*ptrs1!=*(ptrs2+j))break;if(*ptrs1=='\0')returnptrs2-s2;}return-1;}intmain(){charstr1[80],str2[80];cin>>str1;cin>>str2;cout<<indexof(str1,str2)<<endl;return0;}//使用地址操纵二维数组#include<iostream>usingnamespacestd;intmain(){intA[3][4]={{1,2,3,4}

温馨提示

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

评论

0/150

提交评论