大一期末软件编程考试20题.docx
- 文档编号:28925862
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:17
- 大小:32.62KB
大一期末软件编程考试20题.docx
《大一期末软件编程考试20题.docx》由会员分享,可在线阅读,更多相关《大一期末软件编程考试20题.docx(17页珍藏版)》请在冰豆网上搜索。
大一期末软件编程考试20题
大一期末C++考试20题
1.求100~200以内的素数
#include
usingnamespacestd;
intmain()
{
inti,m;
for(i=100;i<=200;i++)
{
for(m=2;m<=(i/2);m++)
if(i%m==0)
break;
if(m>(i/2))
cout<
}
return0;
}
2.《C++同步练习及实验指导》P31第1题。
#include
#include
usingnamespacestd;
floatfun(floatx)
{
returnx*x-5*x+4;
}
intmain()
{
cout< (2)< floatx; cin>>x; cout< cout< return0; } 3.《C++语言程序设计教程》P48编程题第 (2)题 摄氏温度与华氏温度的转换公式为c=5(f-32)/9,其中c为摄氏温度,f和华氏温度。 写出两者互相转换的表达式,将表达式放到程序中,以整数形式输入一种温度值,以整数形式输出转换后温度值。 #include usingnamespacestd; intmain() { intf,c,i; cout<<"摄氏度→华氏度请输入1,华氏度→摄氏度请输入2"< cin>>i; cout< if(i==1) { cout<<"请输入摄氏温度"; cin>>c; f=9.0/5*c+32; cout<<"对应的华氏温度为"< } if(i==2) {cout<<"请输入华氏温度"; cin>>f; c=5.0/9*(f-32); cout<<"对应的摄氏温度为"< } return0; } 4.《C++语言程序设计教程》P69(4) 百钱百鸡问题: 鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何? (改写本章百钱百鸡程序,减少循环层数以及循环次数,优化循环。 ) #include usingnamespacestd; intmain() { inti,j; for(i=0;i<=20;i++) for(j=0;j<=33;j++) if((5*i+3*j+(100-i-j)/3)==100&&(100-i-j)%3==0) cout<<"鸡翁,鸡婆,鸡雏各有: "< return0; } 5.《C++语言程序设计教程》P69(9) 编写一程序,按下列公式求圆周率,精确到最后一项绝对值小于10^(-8) #include #include usingnamespacestd; intmain() { doublepi=0,i=1,n=1; while(fabs(1.0/n)>1E-8)//在手机上1e-8运行不出结果,1e-6倒是可以// { pi=pi+(1.0)/n*i; i=-i; n=n+2; } pi=4*pi; cout< } 6.《C++同步练习及实验指导》P40第1题。 doublesum(doublea,doubleb) { returna+b; } intsum(inta,intb,intc) { returna+b+c; } intsum(int*a,intn) { ints=0; for(inti=0;i s+=a[i]; returns; } 7.《C++语言程序设计教程》P85例4-7。 编写3个名为add的重型函数,分别实现两个整数相加,两个实数相加,一个整数和一个实数相加,一个实数和一个整数相加的功能。 #include usingnamespacestd; intadd(intx,inty) { cout<<"(int,int)\t"; returnx+y; } doubleadd(doublex,doubley) { cout<<"(double,doyble)\t"; returnx+y; } intadd(intx,doubley) { cout<<"(int,double)\t"; returnx+y; } doubleadd(doublex,inty) { cout<<"(double,int)\t"; returnx+y; } intmain() { cout< cout< cout< cout< return0; } 8.用递归方法求n! 。 #include usingnamespacestd; doublejiecheng(doublex) { if(x==1) return1; else returnx*jiecheng(x-1); } intmain() { doublex; cin>>x; cout< return0; } 9.通过函数调用(地址调用、引用调用)实现对两个变量值进行交换 10.输入10个整数,将其中最小的数与第一个数交换,把最大数与最后一个数交换。 请设计3个函数来完成该操作: ①输入10个整数的函数;②交换处理函数;③输出10个整数的函数。 主函数通过上述调用完成程序功能 #include usingnamespacestd; voidinput(inta[],intn) { inti; for(i=0;i cin>>a[i]; } voidchange(inta[],intn) { inti,max,min; min=a[0];max=a[0]; for(i=0;i<(n-1);i++) { max=(max>a[i+1]? max: a[i+1]); min=(min min: a[i+1]); } for(i=0;i { if(a[i]==max) { a[i]=a[n-1]; a[n-1]=max; } if(a[i]==min) { a[i]=a[0]; a[0]=min; } } } voidoutput(inta[],intn) { inti; for(i=0;i cout< } intmain() { inta[10]; input(a,10); change(a,10); output(a,10); return0; } 11.读入20个整数,统计非负数个数、并计算非负数之和 #include usingnamespacestd; intmain() { inta[20],i,s=0,m=0; for(i=0;i<20;i++) { cin>>a[i]; if(a[i]>=0) { s=s+a[i]; m=m+1; } } cout<<"非负数个数是: "< cout<<"非负数之和为: "< return0; } 12.求x=1-1/22+1/333-1/4444+1/55555……+1/999999999。 #include #include usingnamespacestd; intmain() { longinta; ints=1,n=1; floatx=0.0,b=1.0,t; while(n<9) { x=x+b; n++; t=a=n; while(t>1) { a=a*10+n;t--; } s=-s; b=(float)s/a; } cout< return0; } 13.设计Sort函数实现冒泡排序,主调函数通过调用该函数实现排序功能。 voidsort(inta[],intn) { inti,temp,j; for(i=0;i { for(j=i;j { if(a[i]<=a[j]) { temp=a[j]; a[j]=a[i]; a[i]=a[j]; } } } } 14.《C++同步练习及实验指导》P61第3题。 #include usingnamespacestd; voidmain(void) { constintN=10; inta[N+1]={10,25,36,40,53,62,77,81,90,102},i; intinsert; cout<<"请输入要插入的数据"; cin>>insert;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大一 期末 软件 编程 考试 20