大学计算机考试题C.docx

上传人:b****8 文档编号:10342387 上传时间:2023-02-10 格式:DOCX 页数:22 大小:19.92KB
下载 相关 举报
大学计算机考试题C.docx_第1页
第1页 / 共22页
大学计算机考试题C.docx_第2页
第2页 / 共22页
大学计算机考试题C.docx_第3页
第3页 / 共22页
大学计算机考试题C.docx_第4页
第4页 / 共22页
大学计算机考试题C.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

大学计算机考试题C.docx

《大学计算机考试题C.docx》由会员分享,可在线阅读,更多相关《大学计算机考试题C.docx(22页珍藏版)》请在冰豆网上搜索。

大学计算机考试题C.docx

大学计算机考试题C

大学计算机期末复习题

1.题目:

求多项式1!

+2!

+3!

+……+15!

的值并存入变量out中.

#include

usingnamespacestd;

voidmain()

{

inti,sum=1;

intn=15,out;

for(i=1;i<=n;i++)

{

sum=sum*i;

out+=sum;

}

cout<<"1!

+2!

+......15!

="<

}

2.题目:

求1至200之间的所有质数,将质数和存入变量sum中.

#include

#include

usingnamespacestd;

intmain()

{

inti,k,sum=0;

for(intm=2;m<=200;m++)

{k=int(sqrt(m));

for(i=2;i<=k;i++)

{if(m%i==0)break;}

if(i>k)

{cout<

sum+=m;}

}

cout<<'\n'<<"sum="<

return0;

}

3.题目:

用while循环编程,求自然数1至100之间各奇数平方和sum。

#include

#include

usingnamespacestd;

intmain()

{inti

(1),sum(0);

while(i<=100)

{sum+=i*i;

i=i+2;}

cout<<'\t';

cout<<"1~100所有奇数的平方和是:

"<

return0;

}

4.题目:

判断一个数23437是否是素数(要求程序中设置一个参数flag,flag为1代表是素数,为0代表不是)

#include

#include

usingnamespacestd;

intmain()

{

inta=23437;

intb,c,flag;

b=sqrt(a);

for(c=2;c<=a;c++)

{if(a%c==0)break;}

if(c>b)flag=1;

elseflag=0;

if(flag==1)cout<<"23437是素数!

"<

elseif(flag==0)cout<<"23437不是素数!

"<

return0;

}

5.题目:

已知一个数m(=252)求各位数字之和

#include

usingnamespacestd;

intmain()

{

inti,p,q,m=252;

i=m%10;

p=m/100;

q=(m/10)-(p*10);

cout<<"各位数字之和是"<

return0;

}

6.题目:

将1-100之间奇数顺序累加存入n中,直到其和等于或大于200为止

#include

usingnamespacestd;

intmain()

{

inti,n=0;

for(i=1;i<=100;i=i+2)

{

n=n+i;

if(n>=200)

break;

}

cout<

return0;

}

7.题目:

用“辗转相除方法”计算两个数x,y的最大公约数

#include

usingnamespacestd;

intmain()

{

intm,n,t,r;

cout<<"请输入两个正整数:

";

cin>>m>>n;

if(m=n

while((r=m%n)!

=0)

{m=n;

n=r;}

cout<<"最大公约数为:

"<

return0;

}

8.题目:

已知三个数a,b,c,按由小到大的顺序存入a,b,

c中并输出。

#include

usingnamespacestd;

intmain()

{

inta,b,c,t;

cout<<"请输入三个数a,b,c:

"<

cin>>a>>b>>c;

if(a>b)

{t=a;a=b;b=t;}

if(a>c)

{t=a;a=c;c=t;}

if(b>c)

{t=b;b=c;c=t;}

cout<

return0;

}

9.题目:

已知n,计算n以内的所有素数之和sum。

#include

#include

usingnamespacestd;

intmain()

{

intn,k,i,p,sum=0;

cin>>n;

for(i=2;i<=n;i++)

{k=int(sqrt(i));

for(p=2;p<=k;p++)

{if((i%p)==0)break;}

if(p>k)

{sum+=i;}

}

cout<<"sum="<

return0;

}

注意:

求根是对i而不是对n求。

If(p>k)不要放在第二个for循环里面应该要拿出来。

10.题目:

打印水仙花数及个数n(水仙花数是三位数,每位数字的立方和等于这个数本身示例见图1)。

#include

usingnamespacestd;

intmain()

{

inta,b,c,d,i=0;

for(a=100;a<=999;a++)

{

b=a/100;

c=(a-100*b)/10;

d=a-100*b-10*c;

if(b*b*b+c*c*c+d*d*d==a)

{cout<

i++;}

}

cout<<"水仙花数个数:

"<

return0;

}

11.题目:

找出1-200之间的完数及个数n(完数是一个数的因子之和是这个数本身。

例如6=1+2+3)。

#include

usingnamespacestd;

voidmain()

{inti,j,sum;

for(i=2;i<=200;i++)

{sum=0;

for(j=1;j

if(i%j==0)sum+=j;

if(sum==i)

{cout<";

for(j=1;j

if(i%j==0)cout<

cout<

}

}

12.题目:

编写一个C++函数max,输入参数为3个实数,输出为其中的最大数。

#include

usingnamespacestd;

voidmain()

{

intmax(inta,intb,intc);

inta,b,c,m;

cin>>a>>b>>c;

m=max(a,b,c);

cout<

}

intmax(intx,inty,intz)

{

intn;

if(x>y)

{if(x>z)n=x;

elsen=z;}

else

{if(y>z)n=y;

elsen=z;}

return(n);

}

13.题目:

编写一个函数:

intisSushu(intn),判断n是否是素数。

#include

#include

usingnamespacestd;

voidmain()

{

intisSushu(intn);

intn,flag;

cin>>n;

flag=isSushu(int(n));

if(flag==1)cout<<"是素数"<

if(flag==0)cout<<"不是素数"<

}

intisSushu(intn)

{intq,k,i;

k=int(sqrt(n));

for(i=2;i<=k;i++)

{if((n%i)==0){q=0;break;}

}

if(i>k){q=1;}

return(q);

}

14.题目:

从键盘中分别给两个整形变量x和y赋值为20和10,通过编程使它们的值交换,然后输出交换以后的x和y的值。

#include

usingnamespacestd;

intmain()

{

intx,y,z;

cout<<"请输入x,y的值:

";

cin>>x>>y;

z=x;

x=y;

y=z;

cout<<"x="<

return0;

}

15.题目:

利用switch语句将输入的百分制成绩转换成相应的等级。

成绩等级

100~90优秀

89~80良好

79~70中等

69~60及格

59~0不及格

#include

usingnamespacestd;

intmain()

{

floatscore;

cout<<"请输入成绩:

";

cin>>score;

if(score>=0&&score<=100)

switch(int(score)/10)

{

case10:

case9:

cout<

优秀"<

case8:

cout<

良好"<

case7:

cout<

中等"<

case6:

cout<

及格"<

default:

cout<

不及格"<

}

else

cout<<"输入数据有误!

"<

return0;

}

16.题目:

输入一个自然数num,将该数的每一位数字按反序输出digital。

例如:

输入123456,输出654321。

(要求输入123456)

#include

usingnamespacestd;

voidmain()

{unsignedlongintnum,digital;

cout<<"请输入一个自然数:

";

cin>>num;

do

{

digital=num%10;

num/=10;

cout<

}

while(num>0);

cout<

}

17.题目:

利用循环语句输出“九九乘法表”。

#include

usingnamespacestd;

intmain()

{

cout<<"\t\t\t九九乘法表"<

cout<<"\t\t\t------------------"<

for(inti=1;i<=9;i++)

{

for(intj=1;j<=9;j++)

cout<

cout<

}

return0;

}

18.题目:

利用for循环和break语句实现:

从键盘上输入若

干个(小于10个)正整数,直到输入负数为止,

计算并输出已输入的正整数之和。

(要求输入:

10,3,9,27,12,-5)

#include

usingnamespacestd;

constintm=10;

intmain()

{

inti,n,sum=0;

cout<<"请输入若干整数(输入负数就结束输入):

"<

for(i=0;i

{

cin>>n;

if(n<0)break;

sum+=n;

}

cout<<"输入的正整数之和:

"<

return0;

}

19.题目:

利用for循环和continue语句实现:

输出100~200之间所有能够被8整除的所有整数。

#include

#include

usingnamespacestd;

intmain()

{

for(inti=100;i<=200;i++)

{

if(i%8!

=0)continue;

cout<

}

cout<

return0;

}

20.题目:

输入x,计算sin(x)。

计算公式如图片1所示.

当第n项的绝对值小于1e-8时结束,x为弧度,并调用

标准函数sin(x)与求出值进行比较。

(要求输入3.14)

#include

#Include

usingnamespacestd;

constintm=20;

intmain()

{

intn=1;

doublex,t,sinx(0);//变量t保存每一项的值;给sinx变量赋初值0

cout<<"请输入x的值:

";

cin>>x;

t=x;//将求和式的第一项值x赋给t

while(fabs(t)>=0.00000001)

{sinx+=t;

t=-t*x*x/((n+1)*(n+2));

n+=2;

}

cout<<"编程求得的sin("<

cout<<"调用标准函数求得的sin("<

return0;

}

21.题目:

从键盘上输入a、b、c,计算并输出一元二次方程的解。

#include

#include

usingnamespacestd;

main()

{

floata,b,c,d,x1,x2;

cin>>a>>b>>c;

d=b*b-4*a*c;

if(d<0)

{cout<<"此方程无实根。

"<

exit(0);

}

elseif(d==0)

{x1=x2=-b/(2*a);

cout<<"方程有两个相等的根:

"<<"x1=x2="<

exit(0);

}

else

{x1=(-b+sqrt(d))/(2*a);

x2=(-b-sqrt(d))/(2*a);

cout<<"方程有两个根:

"<<"x1="<

exit(0);

}

return(0);

}

22.题目:

某百货公司为了促销,采用购物打折的优惠办法。

每位顾客一次购物:

(1)在1000元及以上者,按九折优惠

(2)在2000元及以上者,按八折优惠

(3)在3000元及以上者,按七折优惠

(4)在4000元及以上者,按六折优惠

#include

usingnamespacestd;

intmain()

{

floatprice,money;

cout<<"输入购物款数:

"<

cin>>money;

switch(int(money)/1000)

{

case0:

price=money;cout<<"优惠价是:

"<

case1:

price=money*0.9;cout<<"优惠价是:

"<

case2:

price=money*0.8;cout<<"优惠价是:

"<

case3:

price=money*0.7;cout<<"优惠价是:

"<

default:

price=money*0.6;cout<<"优惠价是:

"<

}

return0;

23.题目:

计算PI的近似值,直到最后一项的绝对值小于如图片1

所示的值为止,近似公式如图片2所示.

#include

#include

usingnamespacestd;

intmain()

{

intm,n;

doublepi=0,i;

for(m=1;;m++)

{

if(m%2==0)n=-1;

elsen=1;

i=n*1.0/(2*m-1);

pi=pi+i;

if((1.0/m)<0.00000001)break;

}

cout<<"pi="<<4*pi<

return0;

}

24.题目:

根据输入的总行数,输出三角星号。

如果输入5,则输出如下图形:

*

***

*****

*******

*********

(请输入5)

#include

usingnamespacestd;

intmain()

{

intn,i,j;

cin>>n;

for(i=1;i<=n;i++)

{for(j=0;j<=n-i;j++)cout<<"";

for(j=1;j<=2*i-1;j++)cout<<"*";

cout<

}

}

25.题目:

鸡、兔共40只,有脚88只,问鸡、兔各多少只。

求解的结果分别存放在变量ji和tu中。

#include

usingnamespacestd;

intmain()

{

intx,y;

for(y=1;y<=22;y++)

{x=40-y;

if(2*x+y*4==88)

cout<<"ji:

"<

"<

}

return0;

}

26.题目:

输入一个年份,判断该年是否是闰年。

#include

usingnamespacestd;

intmain()

{

intyear;

cout<<"请输入年份:

";

cin>>year;

if((year%4==0&&year%100!

=0)||(year%400==0))

cout<

else

cout<

return0;

}

27.题目:

根据x的值,计算分段函数y的值。

y的计算公式见课本P40例题2.5所示。

#include

#include

usingnamespacestd;

intmain()

{

doublex,y;

cout<<"请输入x:

";

cin>>x;

if(x<0)y=fabs(x);

elseif(x<10)y=exp(x)*sin(x);

elseif(x<20)y=pow(x,3);

elsey=(3+2*x)*log(x);

cout<<"y="<

return0;

}

28.题目:

从键盘上输入一个三角形中三条边a、b、c的长度,请利用下列公式求出三角形的面积。

(注意:

要求程序保证输入的三角形的三条边中的任意两条边大于第三条边)

求面积公式如图片1所示,其中s=(a+b+c)/2。

#include

#include

usingnamespacestd;

intmain()

{

doublea,b,c,s,area;

cin>>a>>b>>c;

if(a+b>c&&b+c>a&&a+c>b)

{s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

cout<<"area="<

}

else

{cout<<"不能组成三角形"<

return0;

}

29.题目:

某定义一个C++函数doublefac(int),实现求一个正整数的阶乘。

#include

usingnamespacestd;

longfac(intn)

{longf;

if(n==0)f=1;

elsef=n*fac(n-1);//递归调用,求(n-1)!

returnf;

}

voidmain()

{

longy;

intn;

cout<<"pleaseinputaintegern"<

cin>>n;

y=fac(n);//调用fac(n)求n!

cout<

="<

}

30.题目:

编程求用户输入的两个双精度实数x与y的和(存放在变量he中)、积(存放在变量ji中)。

#include

usingnamespacestd;

doublemain()

{

doublex,y,he,ji;

cin>>x>>y;

he=x+y;

ji=x*y;

cout<<"he="<

return0;

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 公务员考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1