C++编程-.pdf

上传人:索**** 文档编号:76250122 上传时间:2023-03-08 格式:PDF 页数:14 大小:17.18KB
返回 下载 相关 举报
C++编程-.pdf_第1页
第1页 / 共14页
C++编程-.pdf_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《C++编程-.pdf》由会员分享,可在线阅读,更多相关《C++编程-.pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1.实现菜单程序,显示:Menu:A(dd)D(elete)S(ort)Q(uit)Select one:#include using namespace std;void main()char ch;cout“Menu:”endl;cout“A(dd)”endl;cout“D(elete)”endl;cout“S(ort)”endl;cout“Q(uit)”endl;cout“Select one:”ch;switch(ch)case A:cout“数据已增加。”endl;break;case D:cout“数据已删除。”endl;break;case S:cout“数据已排序。”endl;

2、break;case Q:cout“退出系统。”endl;break;default:cout“选择错误。”endl;break;2.计算:1-2+3-4+,+99-100#include using namespace std;void main()int i,sum=1,t=1;for(i=2;i=100;i+)t=-t;sum=sum+t*i;cout“sum=”sumendl;3.比赛名单:甲:A,B,C 乙:X,Y,Z(A 不和 X 比,C 不和 X,Z 比)#include using namespace std;void main()char x,y,z;for(x=A;x=C;

3、x+)for(y=A;y=C;y+)for(z=A;z=C;z+)if(x!=A&x!=C&z!=C&x!=y&x!=z&y!=z)coutX 对xendl;coutY 对yendl;coutZ 对zendl;4.输入 n 个数,找出所有大于n 个数的平均值的那些数及最小数#include#include using namespace std;void main()const int N=10;int n,i;double aN,avg=0,min;coutn;cout“n 请输入”n“个数:”endl;for(i=0;iai;min=a0;for(i=0;iai)min=ai;avg=av

4、g/n;cout“最小数是”minendl;cout“大于平均值的数是:”endl;for(i=0;iavg)coutsetw(4)ai;coutendl;5.设有有序(值从大到小)的两组数据,将这两组数据有序合并(过程中始终有序)#include#include using namespace std;void main()const int N=10,M=10;int aN,bM,cN+M,ia,ib,ic=0,n,m;coutn;coutm;cout请输入 a 数组的元素(n 个):endl;for(ia=0;iaaia;cout请输入 b 数组的元素(m 个):endl;for(ib=

5、0;ibbib;ib=0;for(ia=0;iaaia)cic+=aia;else cic+=bib;if(aia!=bib)ia-;ib+;if(ibm)for(;ibm;ib+)cic+=bib;cout合并后的数据为:endl;for(int i=0;iic;i+)coutsetw(4)ci;coutendl;6.猴王问题:#include using namespace std;void main()const int N=10;int aN+1,i=1,m,k,j=1;coutm;for(i=1;i=N;i+)ai=1;k=N;for(i=1;i=N;i+)if(k=1)break;

6、if(ai!=0)if(j=m)ai=0;j=1;k-;else j+;if(i=N)i=0;for(i=1;i=N;i+)if(ai!=0)cout 第i 只猴子是猴王。endl;break;7.对一组无序数组,通过插入排序使得成为有序#include#include using namespace std;void main()const int N=10;int aN,t,i,p;cout请输入 N 个无序的整数:endl;for(i=0;iai;if(a0a1)t=a0;a0=a1;a1=t;for(i=2;iap&p=N)p+;if(p=p;j-)aj=aj-1;ap=t;cout排

7、好序的数据是:endl;for(i=0;iN;i+)coutsetw(4)ai;coutendl;8.使用指针法在3 行 4 列的一组数据中,找出最大值所在的行数和列数并输出#include using namespace std;void main()int a34,*p3,max,max_r,max_l,i,j;cout 请输入数组a的值(12 个整数):endl;for(i=0;i3;i+)pi=ai;for(j=0;j*(pi+j);max=a00;max_r=0;max_l=0;for(i=0;i3;i+)pi=ai;for(j=0;jmax)max=*(pi+j);max_r=i;

8、max_l=j;coutmaxmax_rmax_l=maxendl;9.使用指针法将方阵a中所有边上的元素和两个对角线上的元素1,其他元素置0.要求对每个元素只值一次值,最后按矩阵形式输出a#include#include using namespace std;void main()const int N=10;int aNN,*pN,i,j;for(i=0;iN;i+)pi=ai;for(j=0;jN;j+)if(j=N-1|j=0|i=j|i+j=N-1)*(pi+j)=1;else*(pi+j)=0;for(i=0;iN;i+)pi=ai;for(j=0;jN;j+)coutsetw(

9、3)*(pi+j);coutendl;10.输入数值,计算其绝对值和该绝对值以10 为底的对数值,输出结果#include#include using namespace std;void main()double x=0.0,y=0.0,z=0.0;coutx;y=fabs(x);z=log10(y);coutx 的绝对值是:yendl;coutx 的绝对值的以10 为底的对数值是:zendl;11.判断一个年份是否是闰年:#include using namespace std;void main()int year;coutyear;if(year%4=0&year%100!=0)|(y

10、ear%100=0&year%400=0)coutyear is a leap yearendl;else coutyear is not a leap yearendl;12.求 e#include using namespace std;void main()double e=1.0,u=1.0;int n=1;doe=e+u;n=n+1;u=u/n;while(u=1.0e-7);coute=e,(n=n)endl;13.求一个一元二次方程的根#include#include using namespace std;void main()double a,b,c,x1,x2,delta;

11、coutabc;delta=b*b-4*a*c;x1=(-b+sqrt(delta)/(2*a);x2=(-b-sqrt(delta)/(2*a);if(a=0)coutx1=x2=-c/b=0)coutx1=x1,x2=x2endl;else cout 该方程无实数根 endl;14.求 100 以内的奇数之和#include using namespace std;void main()int sum=0,i=1;while(i=100)sum=sum+i;i=i+2;coutsum=sumendl;15.打印“九九乘法表”#include using namespace std;void

12、 main()int i=1,j=1,sum=1;do j=1;do sum=i*j;coutj*i=sum;j+;while(j=i);i+;coutendl;while(i=9);16.输入两个整数,求最大公约数与最小公倍数#include using namespace std;void main()int m,n,max,min;coutmn;if(mn)min=n;else min=m;for(int i=min;i=1;i-)if(m%i=0&n%i=0)coutin?m:n);for(int j=max;j=m*n;j+)if(j%m=0&j%n=0)coutjendl;brea

13、k;17.输入一个整数,将各位数字反转后输出#include using namespace std;void main()int a;couta;while(a0)couta%10;a=a/10;coutendl;18.有 n 个学生参加某门课程的考试,把高于平均成绩的学生的学号和成绩输出#include using namespace std;void main()int i,n;float num50,s50,sum=0.0,ave;coutn;for(i=0;in;i+)cout 请输入第 i+1numisi;for(i=0;in;i+)sum=sum+si;ave=sum/n;for

14、(i=0;iave)cout 高于平均成绩的学生的学好和成绩:endl;coutnumi,siendl;19.求 Fibonacci数列的前 20 项。#include#include using namespace std;void main()int i,f20=1,1;for(i=2;i20;i+)fi=fi-2+fi-1;for(i=0;i20;i+)if(i%5=0)coutendl;coutsetw(5)fi;20.用折半查找法在一个有序(设为升序排列)的十个数中,查找是否有从键盘输入的数x.#include using namespace std;void main()int a

15、10,i,bot,mid,top,x,pos;top=0;bot=9;coutPlease input the ten numbers(from small to big):endl;for(i=0;i ai;coutPlease input the number to queue:x;while(topx)top=mid+1;else bot=mid-1;if(bottop)coutxis at the pos+1position.;else coutNo this number.;21.等腰三角杨辉三角。#include#includeiomanip using namespace std

16、;void main()int i,j,b,a1010;for(i=0;i10;i+)ai0=1;aii=1;for(i=2;i10;i+)for(j=1;j=i-1;j+)aij=ai-1j-1+ai-1j;coutYANG HUI Triangle:endl;for(i=0;i10;i+)for(b=0;b=10-i;b+)cout ;for(j=0;j=i;j+)coutsetw(4)aij;coutendl;22.把一个数列中的所有相同的数删到只剩一个#include using namespace std;void main()int const N=20;int i,j,m,t,n

17、,aN,bN;coutn;coutInput the n numbers:endl;for(i=0;iai;for(i=0;in-1;i+)for(j=i+1;jaj)t=ai;ai=aj;aj=t;b0=a0;m=0;for(i=1;in;i+)for(j=0;jm)m+;bm=ai;coutThe sorted numbers are:endl;for(j=0;j=m;j+)coutbj;coutendl;23.输入 N个数,把出现次数最多的那个数找出来。#include using namespace std;int main()int a20=0;int b20=0;int c20=0

18、;cout 输入 20 个整数 n;for(int i=0;iai;for(i=0;i19;i+)for(int j=0;jaj+1)swap(aj,aj+1);int h=0,j=-1;while(h20)if(ah+1!=ah)j+;bj=ah;cj+;else cj+;h+;int value;for(i=0;i20;i+)if(valueci)value=ci;cout ciendl;return 0;24.输入字符串“program”到一个字符数组s(长度为10),将该字符数组置逆,并输出置逆后的字符数组。即s0 与 s19 互换,s1 与 s18 互换。#include using

19、 namespace std;int main(int argc,char argv)char s10=program;cout sendl;for(int i=0;istrlen(frogram)/2;i+)swap(si,sstrlen(frogram)-i-1);coutsendl;return 0;25.计算两个整数的乘积,计算乘积要单独用一个用户自定义有返回值的函数实现。#include using namespace std;int mult(int m,int n);int main()int a,b,p;coutplease input the number a and b:a

20、b;p=mult(a,b);couta*b=pendl;return 0;int mult(int m,int n)int q;q=m*n;return q;26.将键盘输入的10 个按从小到大的顺序排序(冒泡法),要求排序功能用自定义函数实现。#include using namespace std;void Sort(int*p);int main()int*p=new int10;for(int i=0;ipi;Sort(p);for(i=0;i10;i+)cout pi;cout endl;return 0;void Sort(int*p)int i,j;for(i=0;i9;i+)f

21、or(j=0;jpj+1)swap(pj,pj+1);27.使用指针法将一个十进制数转换成二进制数,并把次二进制数的每一位放在一维数组b中,然后输出数组b.#include#define MAX_LEN 10 using namespace std;int main()int dec;coutinput a integer:dec;int binMAX_LEN=0;for(size_t i=0;dec;dec=1,+i)bini=dec&1;coutbinary is:endl;for(i=0;iMAX_LEN;+i)coutbini;coutendl;return EXIT_SUCCESS;

22、28.使用指针法自动产生如下数据:1 2 3 4 5 6 7 8 9 10 11 12 13 12 11 16 17 18 19 20 21 22 23 24 25 然后输出如上数据的左下半三角#include#define LEN 25 using namespace std;int main()int arrayLEN;for(size_t i=0;i!=LEN;+i)arrayi=i+1;int*p=array;for(i=0;i!=LEN;i+=5,p+=5)for(size_t j=0;j=(i/5);+j)cout*(p+j)t;coutendl;return EXIT_SUCCE

23、SS;29.计算两点间的距离,所有数字和返回值应为float类型。#include#include using namespace std;int main()float x1,y1,x2,y2;coutInput x1,x2,y1,y2:x1y1x2y2;float d;d=sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);coutd=dendl;return 0;30.用来将以小时为单位表示的时间转换为以秒为单位表示的时间。#include using namespace std;void timechange(double hour);int main()double hour;couthour;timechange(hour);return 0;void timechange(double hour)double second;second=3600*hour;cout secondendl;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术标书

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁