C++汇总.docx_第1页
C++汇总.docx_第2页
C++汇总.docx_第3页
C++汇总.docx_第4页
C++汇总.docx_第5页
已阅读5页,还剩132页未读 继续免费阅读

下载本文档

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

文档简介

第1题P17-1.输入长、宽(均为整数),计算矩形的面积。#includeusing namespace std;int main()int a,b,c;coutPlease input lengtha;coutPlease input widthb;c=a*b;coutThe surface of the square iscendl;return 0;第2题P17-3.输入半径(实数),计算圆的周长和面积。#includeusing namespace std;int main()double r,c,s;coutPlease input the radius of the circler;c=2*3.1415926*r;s=3.1415926*r*r;coutthe circumference of the circle iscendl;coutthe square of the circle issendl;return 0;第3题P17-5.编写程序,打印矩形* * * * *#includeusing namespace std;int main()cout*endl;cout* *endl;cout* *endl;cout* *endl;cout* *endl;cout*endl;return 0;第4题P17-6.编写程序,打印如下图所示的卡片,其中姓名和电话号码从键盘输入。* Wang Feng Xian Jiaotong University Add. No.28 West Xianning Road Xian China,710049 Tel.86-29-82668888*#includeusing namespace std;int main()char name30;coutPlease input the name of the ownername;int number;coutPlease input the telephone number of the ownernumber;cout*endl;coutendl;coutnameendl;cout Xian Jiaotong Universityendl;cout Add.endl;cout No.28 West Xianning Roadendl;cout Xian China,710049endl;cout Tel.86-29-numberendl;coutendl;cout*endl;return 0;第5题P18-7.输入n,计算y=(1+1/n)n的函数值。#include#includeusing namespace std;int main()int n;coutPlease input integer nn;double y;y=pow(1.0+1.0/n),n);coutyendl;return 0;第6题P18-10.输入x,a,计算y=loga(x+(x2+1)的函数值。#include#includeusing namespace std;int main()double x,a,y;coutPlease input xx;cout0 and a1a;y=(log(x+sqrt(x*x+1.0)/log(a);coutyendl;return 0;第1题P54-2.温度转换。输入华氏温度,用下列公式将其转换为摄氏温度并输出。C=5/9(F-32)#include #includeusing namespace std;int main()double C,F;coutPlease input your Fahrenheit FF;C=(5.0*(F-32.0)/9.0;coutThe Centigrade is Cendl;return 0;第2题P55-3.输入x,编程试求函数 y=sin(x2)/(1-cosx)的值。#include #includeusing namespace std;int main()double x,y;coutPlease input xx;y=(sin(x*x)/(1-cos(x);couty;return 0;第3题P55-5.编程实现,用户从键盘输入3个整数,计算并打印这三个数的和、平均值及平均值的四舍五入整数值。#include using namespace std;int main()int x,y,z,s,b,d;double a,c;coutPleasen input three integers:x,y,z=xyz;s=x+y+z;a=(x+y+z)/3.0;d=int(a+0.5);cout他们的和是sendl他们的平均数是aendl平均数四舍五入的整数结果为dendl; return 0;第4题P55-7.小写转大写。 用户输入小写字母,程序输出对应的大写字母。#include using namespace std;int main()cout请输入小写字母str;const int c=32;str0=str0-c;cout对应的大写字母为strendl; return 0;第5题P55-8.打印ASCII码。输入一个字符(可能为字母、数字或标点符号等),在一行中打印该字符及该字符的ASCII的十进制、十六进制形式和八进制形式,数据之间用t分隔。提示,输出八进制数使用coutoctv;的格式,其中v是待输出的整型变量#includeusing namespace std;int main()char x;cout请输入一个字符x;cout此字符的ASCII 码的十进制、十六进制、八进制分别为decxthexxtoctxendl;return 0;第6题P55-9用户输入不超过255的四个数,将这四个数顺序保存在一个整型变量的4个字节中,输出这个整型变量值的十进制和十六进制形式。#includeusing namespace std;int main()int a,b,c,d;cout请输入不超过255的四个数abcd;int x;x=(a24)+(b16)+(c8)+d;cout这个整型变量的十进制和十六进制分别为decxthexxendl;return 0;第1题P.5455 4.C+中的库函数sin(x),cos(x)等三角函数,自变量的单位为弧度。请编写程序,用户输入角度,计算其正弦、余弦、正切(tan)和余切的函数值并显示出来。要求如果用到,请将其定义为符号常量。#include#includeusing namespace std;int main() double x;const double PI=3.1415926;cout请输入一个角度的值x;double r;r=x*PI/180.0; cout此角度的正弦值为sin(r)endl;cout此角度的余弦值为cos(r)endl;cout此角度的正切值为tan(r)endl;cout此角度的余切值为atan(r)endl; return 0;第2题P.5455 6.找零钱。为顾客找零钱时,希望选用的纸币张数最少。例如73元,希望零钱的面值为五十元1张,二十元1张,一元3张。设零钱面值有五十元、二十元、十元、五元和一元,请编写程序,用户输入100以下的数,计算找给顾客的各面值的纸币张数。并在程序中想一个验证结果是否正确的办法。#include#includeusing namespace std;int main() int m;cout请输入100以下的零钱数m;int a,b,c,d,e;a=int(m/50.0);b=int(m%50)/20.0);c=int(m-a*50.0-b*20.0)/10.0);d=int(m-a*50.0-b*20.0-c*10.0)/5.0);e=(m%10)-d*5.0; char right20=数值正确;char wrong20=数值错误; cout应找零钱a张50元tb张20元tc张10元td张5元te张一元endl;cout(m=(a*50.0+b*20.0+c*10.0+d*5.0+e*1.0)?right:wrong); return 0;第3题P.545511.用户以字符形式输入4个数字字符,将其组成一个4位的整数。例如,用户输入:2 0 1 1,输出结果为2011。注意,输入的四个数字是字符型,用四个字符型变量存储,而2011是由它们构造出的一个四位整数,用一个整型变量表示。#include#includeusing namespace std;int main() char a;char b;char c;char d;cout请输入四个数字abcd;int n;n=0.0;n=n*10.0+(a-48);n=n*10.0+(b-48);n=n*10.0+(c-48);n=n*10.0+(d-48);cout最终的整数为nendl; return 0;第4题 P.81841.编程求三个数的最大数。#include#includeusing namespace std;int main() double a,b,c;coutPlease input 3 numbersabc;double max;if (ab)if (ac)max=a;elsemax=c;elseif (bc)max=b;elsemax=c;coutThe biggest number is maxendl; return 0;第5题P.8184 2.编程计算下列分段函数的值: y=x2,当=0时。#include#includeusing namespace std;int main() double x;coutPlease input xx;double y;if (x0)y=x*x;elsey=x*x*x+2.0*x*x+x;couty=yendl; return 0;第1题P.81-3.编程计算1+2+3+.+n,n由用户输入。#include#includeusing namespace std;int main()int n;coutPlease input nn;int i=0,sum=0;for (i=0;i=n;i=i+1)sum=sum+i;coutsum= sumendl; return 0;第2题P.82-10.输入n(n13),计算1!+2!+3!+4!+.+n!#include#includeusing namespace std;int main()int n;coutPlease input n (n13)n;int i,u,sum;for (i=1,u=1,sum=0;i=n;i=i+1)u=u*i;sum=sum+u;cout1!+2!+3!+n!= sumendl; return 0;第3题P.83-13.计算a+aa+aaa+aaaa+.+aa.a(第n项,n个a),其中a是19的整数。例如,a=1,n=3时,式子为1+11+111;当a=6,n=5时,式子为6+66+666+6666+66666。#include#includeusing namespace std;int main()int a;int n;coutPlease input a (1=a=9) & na;cinn;int u=a;int sum=u;int i=1;dou=u*10.0+a;sum=sum+u;i=i+1;while(in);couta+aa+aaa+= sumendl; return 0;第4题P.83-14.arcsin(x)写成级数形式为:x+x3/(2*3)+1*3*x5/(2*4*5)+.+(2n)!*x(2n+1) / (2(2n)*(n!)2*(2n+1)用户输入x,利用该式,计算反正弦函数的值。结束条件可以设为|u|#include#includeusing namespace std;int main()double x;coutPlease input x,|x|1x;double u=x;double asinx=u;int n=1;dou=u*(2.0*n-1)*(2.0*n-1)*x*x/(2*n*(2*n+1); asinx=asinx+u;n=n+1;while (fabs(u)=pow(10,(-10); /限制结果的精度coutasinx= asinxendl; return 0;第5题P.83-15.猴子吃桃问题。第一天,猴子摘下一堆桃子,当天吃了一半,感觉没吃够,又吃了一个。以后每天如此,到第10天的时候,发现只剩下一个桃子了。编程计算第一天猴子摘了多少桃子。#include#includeusing namespace std;int main() int n=0;int sum=1;dosum=(sum+1.0)*2;n=n+1;while (n9);coutThe sum of the first day is sum=0,n由用户输入。#include#includeusing namespace std;int main() coutPlease input n n; int i=1;int f0=0;int f1=1;int f2=1;int sum=f1;do i=i+1;f0=f1;f1=f2;f2=f0+f1;sum=sum+f1; while (in);coutThe No.n Fibonacci number is f1endl;coutThe sum of the top n Finonacci numbers is sumendl; return 0;第7题P.83-16.谁是小偷。某小区发生盗窃案,有四个人嫌疑最大,警察找来讯问, A说:不是我。 B说:是C。 C说:是D。 D说:他冤枉人。四人中有一人说了假话,请编程分析谁是小偷?#include#includeusing namespace std;int main() int i=0;int thief;int sum;for (i=0;i=4;i=i+1)thief=i;if(thief!=1.0)+(thief=3.0)+(thief=4.0)+(thief!=4.0)=3)coutThe thief is No. iendl; return 0;第8题 附件题1分别使用以下两种公式计算圆周率的值:(1) /4=1/1-1/3+1/5-1/7+.+(-1)(n-1) * 1/(2n-1) (2) /2=2/1*2/3*4/3*4/5*6/5*6/7*8/7*8/9*.*(2n)/(2n-1)*(2n)/(2n+1) 精度为10的-8次方。(1).#include#includeusing namespace std;int main() int n=0;double u=1;double sum=0;cout.setf (ios:fixed);cout.precision (10);dou=(1.0-2*n)*u/(2*n+1);sum=sum+u;n=n+1;while (fabs(u)=pow(10,(-8); coutPI= (sum*4.0)endl;return 0;(2).#include#includeusing namespace std;int main() double n=1;double u=(4/3.0);double sum=1;double sum2=100;cout.setf(ios:fixed);cout.precision (10);dosum2=sum;u=4.0*n*n/(2*n-1)*(2*n+1);sum=sum*u;n=n+1;while (fabs(sum-sum2)=1.0E-18);coutPI= (sum*2.0)endl; return 0;第9题 附件题2对1001000000000之间的数进行如下处理(1) 找出全部回文数。比如:121、1441、. (2) 找出全部不是7的倍数和不带7的数。 (3) 找出全部的平方数。比如:121=11*11、10000=100*100、.(1).#include#includeusing namespace std;int main() int n;int g;int rn;int n1; for(n=100;n=1000000000;n+) n1=n; rn=0;while(n1!=0) g=n1%10;/取出个位数; rn=rn*10+g; n1=n1/10;/去掉个位数,剩下前面的数;if (rn=n)coutnt; return 0;(2).#include#includeusing namespace std;int main() int n;int g;int n1;for (n=100;n=1000000000;n+) n1=n; g=0;while (n1!=0) if(g!=7)g=n1%10;/ n1=n1/10;/continue; else if (g=7)break;if(g!=7&n%7!=0)/7coutnt; return 0;(3).#include#includeusing namespace std;int main() int n;int m;for(n=10;m=1000000000;n+)m=n*n;coutm=n*nt; return 0;第10题 附件题3正整数的素因子分解。比如:60=2*2*3*5#include#includeusing namespace std;int main()int A;coutPlease input integer A A;int a=A;int k=2;int m100;int i=0;int N;while(a!=1)if(a%k=0)mi=k;a=a/k;i=i+1;N=i;elsek=k+1;coutA=1;for(i=0;iN;i+)coutxmi;coutendl; return 0;第11题 附件题4有一批正整数,请找出其中值 (最接近平均值的那个数)。#include#includeusing namespace std;int main()int A1000;int N;int i=0;int j=0;int k=0;double B1000;int sum=0;double av;double b;coutPlease input the number of your integersN;for (i=0;iN;i+)/循环输入整数coutPlease input your No. i+1integerAi;for (i=0;iN;i+)sum=sum+Ai;av=sum/N;/求此数组数据的平均值for(i=0,j=0;iN&jN;j+)Bj=fabs(Ai-av);/将每一个元素与平均值相减,其差值的绝对值存入数组Bi=i+1;for (j=0;jN-1;j+)/运用冒泡排序对数组B中的元素由小至大排序for(k=0;kBk+1)double tmp;tmp=Bk;Bk=Bk+1;Bk+1=tmp;for(i=0;iN;i+)/将最小的B中的元素(即最小差值),与平均值相加,找出对应的原数并输出if(Ai=B0+av|Ai=av-B0)coutThe midium number is Ai; return 0;第1题1. 由键盘输入一个正整数n(=100), 编程推导由五个5和四则运算符组成的表达式, 这个表达式的值应正好等于n。举例:请输入n的值: 24(5*5)*5)-5)/5=24#include#includeusing namespace std;int main() int n;cout请输入整数nn;int i,j,k;int a1000;int c=5;char b1000;/定义一个字符型数组存储运算符号; /5个5,之间有4个四则运算连接,并且每一个有四种(加减乘除)的可能性,共有44种可能性,利用穷举法,不断尝试for(i=0;i=256;i+)a0=i%4;a1=a0%4;a2=a1%4;a3=a2%4;/将加减乘除用数字0,1,2,3表示后,再转换回加减乘除符号 for(j=0;j4;j+) switch(aj)case 0:c=c+5;bj=+;break;case 1:c=c-5;bj=-;break;case 2:c=c*5;bj=*;break;case 3:c=c/5;bj=/;break; if(c=n)coutn= (5;for(k=0;k4;k+)coutbk200。 要求显示全部小数位,一位都不能少。#include#includeusing namespace std;int main() int n;double u=1;double u1;double u2;int i=0;int max;int j=0;int k=0;double x=0;double tmp; int b;cout200)n;for (i=0;in;i+)u=u*(1.0/2.0);/计算结果的值/对结果进行全部小数输出判断:/先找出小数点后的0个数,并保存进j;u1=u;while(x=0)u1=u1*10.0;x=int(u1);j=j+1;if(x!=0)break;/计算小数部分从j位之后开始的非零数个数,并保存进k;u2=u*(pow(10.0,(j);while(x!=0)u2=u2*10.0;tmp=u2-int(u2);k=k+1; if(tmp=0)/当小数部分全部为0时,输出结果,小数后位数为j+k位;max=k-1+j; break;elsecontinue;b=max; cout.setf(ios:fixed); cout.precision(b); cout2(-n)= uendl; return 0;第3题3. P.112-3 打印n行的杨辉三角形。#include#includeusing namespace std;int main() int a500500;int i;int j;int n;cout请输入行数nn;a00=1;if (n=1)couta001)couta00endl;for (i=1;in;i+)ai0=1;coutai0t;aii=1;for (j=1;ji;j+)aij=ai-1j-1+ai-1j; coutaijt;coutaiiendl; return 0;第4题4. P.112-5 矩阵用一维数组表示,判断这个矩阵是否为对称矩阵。#include#includeusing namespace std;int main() int a1000;int n;int i;int l;int yesorno=0;cout请输入矩阵的行、列数n (行数=列数)n;cout输入矩阵各元素的值endl;for (i=0;iai;for(i=0;i=0;l-)/对上三角的元素if(ai*n+l!=an*(n-i)-l-1)/与下三角的元素比较是否一样yesorno=yesorno+1;break;else yesorno=yesorno+0;if(yesorno=0)cout此矩阵是对称矩阵endl;elsecout此矩阵不是对称矩阵endl; return 0;第5题5. 编程先由键盘输入一个浮点一维数组的值,然后完成以下功能: (1)查询某个值是否存在,以及出现的次数和位置。 (2)计算其均值、中值、最大值和最小值。#include#includeusing namespace std;int main()int n;int i;float a1000;cout请输入一位数组的维数n;cout请输入此数组endl;for(i=0;iai;float x;int m=0;int B1000;int j=0;int jmax;/查询数并显示出现的位置cout请输入要查询的数x;for (i=0;in;i+)if (ai=x)m=m+1;Bj=i;j=j+1;jmax=j;elsem=m+0; if (m!=0)cout该数存在,数x在数组中出现了m次endl; cout分别出现在位置; for(j=0;jjmax;j+) coutBj+1t; coutendl;elsecout该数在数组中不存在endl;/计算均值float sum=0;float average;for(i=0;in;i+)sum=sum+ai;average=sum/n;cout该数组的均值为averageendl;/计算中值float C1000;int k,l;for(i=0;in;i+)Ci=fabs(ai-average);for(k=1;k=0;l-)if(tmpCl)Cl+1=Cl;elsebreak;Cl=tmp; if (C0+average)=ai|(average-C0)=ai)cout该数组的中值为aiendl;/求最大最小值for(i=0;i=0;j-)if(tmp3aj)aj+1=aj;aj=tmp3;cout该数组的最大值为an-1endl;cout最小值为a0=2)个连续正整数之和,举例: 15=1+2+3+4+5 15=4+5+6 15=7+8 请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。#include#includeusing namespace std;int main() cout1)n;int i,j,k;int s=n;int m=

温馨提示

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

评论

0/150

提交评论