省程序员考试.docx

上传人:b****8 文档编号:10668804 上传时间:2023-02-22 格式:DOCX 页数:24 大小:20.05KB
下载 相关 举报
省程序员考试.docx_第1页
第1页 / 共24页
省程序员考试.docx_第2页
第2页 / 共24页
省程序员考试.docx_第3页
第3页 / 共24页
省程序员考试.docx_第4页
第4页 / 共24页
省程序员考试.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

省程序员考试.docx

《省程序员考试.docx》由会员分享,可在线阅读,更多相关《省程序员考试.docx(24页珍藏版)》请在冰豆网上搜索。

省程序员考试.docx

省程序员考试

/*函数fun()的功能是求分数数列1/2,2/3,1/5,2/6,...(分子为,2交替)的

前n(n<200)项的和.程序员通过调用fun函数,输出n=10,20,50是的结果*/

#include

usingnamespacestd;

doublefun(intn)

{

if(n<0||n>200)return0;

doublei,j,sum;

i=1,j=2,sum=0;

for(intk=1;k

{

sum+=i/j;

j=i+j;

i=(k%2)?

1:

2;//条件运算符

}

returnsum;

}

voidmain()

{

cout<<"fun(10)="<

cout<<"fun(20)="<

cout<<"fun(50)="<

}

/*求非波那丝的前项奇数*/

#include

usingnamespacestd;

voidmain()

{

intf1,f2,f3;

intn;

f1=f2=1;

cout<<'\t'<

n=2;

while(n<20)

{

f3=f1+f2;

if(f3%2)

{

cout<<'\t'<

n++;

if(n%5==0)cout<

}

f1=f2;

f2=f3;

}

cout<

}

11235813

 

/*ex=1+x+x2/2!

+x3/3!

+x4/4!

+...+xn/n!

+....

计算ex的近似值.设x位于区间[0,1],该算法要点是逐步累积计算每项xn/n!

的值(作为T),

再逐步累加T值得到所需的结果S.当T值小于-5时,结束计算*/

#include

#include

usingnamespacestd;

doubleEX(doublex)

{

doubleex,xx,nn,temp,i;

if(x<0||x>1)return0;

if(x==0.0)return1;

ex=1,xx=nn=1,i=1;

do{

xx*=x;

nn*=i;

temp=xx/nn;

ex+=temp;

i++;

}while(temp>1e-5);

returnex;

}

voidmain()

{

cout<<"EX(0)="<

cout<<"EX(0.5)="<

cout<<"EX

(1)="<

(1)<

}

 

/*抽象类*/

#include

#definePI3.1415926

#include

classbase//抽象基类BO声明

{public:

//外部接口

virtualvoiddisplay()=0;//纯虚函数成员

};

classcircle:

publicbase//公有派生

{protected:

doubler;

public:

circle(doublex=0)

{r=x;}

voiddisplay()

{cout<<"圆的面积:

"<

}

};

classcfx:

publicbase//公有派生

{

doublea,b,s;

public:

cfx(doublex=0,doubley=0)

{

a=x;b=y;

}

voiddisplay()

{

s=a*b;

cout<<"长方形的面积:

"<

}

};

classtx:

publicbase//公有派生

{

doublea,b,h,s;

public:

tx(doublea1=0,doubleb1=0,doubleh1=0)

{a=a1;b=b1;h=h1;

}

voiddisplay()

{

s=(a+b)*h/2;

cout<<"梯形的面积:

"<

}

};

voidfun(base*ptr)//普通函数

{

ptr->display();

};

voidmain()//主函数

{

base*p;//声明抽象类基类指针

circlec1(10);//声明派生类对象

cfxc2(9,10);//声明派生类对象

txc3(6,10,5);

p=&c1;

fun(p);

p=&c2;

fun(p);

p=&c3;

fun(p);

};

 

 

//后面一数是前面两项之和

#include

usingnamespacestd;

intfun(intA[],intn)

{

intm=0;

if(n>1)

{

for(inti=1;i

{

for(intj=m;j>=0;j--)

{

if(A[i]==A[j])break;

}

if(j>=0)continue;

A[m+1]=A[i];

}

}

returnm;

}

voidmain()

{

inta[10]={5,2,2,7,4,4,7,1,9,1};

intk=fun(a,10);

for(inti=0;i<=k;i++)

{

cout<

}

cout<

}

 

//计算两点之间的距离

#include

#include

#include

usingnamespacestd;

classTpoint{

doublex,y;

//增加public

public:

Tpoint(doublea,doubleb)

{

x=a;y=b;

}

frienddoublediatance(Tpointa,Tpointb);

};

doubledistance1(Tpointa,Tpointb)

 

//改为doubledistance1(Tpointa,Tpointb)

{

doubledist;

dist=sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));

returnrist;

}

voidmain()

{

Tpointpa(2,2),p2(5,5);

cout<<"上述两点之间的距离:

"<

//将p1.distance(p1,p2)改为distance1(p1,p2)

getch();

}

 

/*构造函数*/

#include

classBuilding

{

public:

Building(intf,intr,intft)

{

floors=f;

rooms=r;

footage=ft;

}

voidshow()

{

cout<<"floors:

"<

cout<<"rooms:

"<

cout<<"totalarea:

"<

}

protected:

intfloors;

introoms;

doublefootage;

};

 

classHousing:

publicBuilding

{

public:

Housing(intf,intr,doubleft,intbd,intbth):

Building(f,r,ft)

{

bedrooms=bd;

bathrooms=bth;

}

voidshow()

{

cout<<"\nHOUSING:

\n";

Building:

:

show();

cout<<"bedrooms:

"<

cout<<"bathrooms:

"<

}

private:

intbedrooms;

intbathrooms;

};

 

classOffice:

publicBuilding

{

public:

Office(intf,intr,doubleft,intmie,inttel):

Building(f,r,ft)

{

miehuoqi=mie;

telphone=tel;

}

voidshow()

{

cout<<"\nOFFICE:

\n";

Building:

:

show();

cout<<"miehuoqi:

"<

cout<<"telphone:

"<

}

private:

intmiehuoqi;

inttelphone;

};

 

voidmain()

{

Housinghob(5,8,100,56,18);

Officeoob(6,89,56,88,5);

hob.show();

oob.show();

}

 

/*编写程序,从键盘上输入一个*3的整数矩阵A和一个*2列

的整数矩阵B,把矩阵的值输出到文件juzhen.txt中.

A

123

456

B

12

34

56

两个矩阵相乘

*/

#include

#include

usingnamespacestd;

intmain()

{

inti,j,A[2][3],B[3][2];

fstreamfile("juzhen.txt",ios:

:

out);

if(!

file){

cout<<"不能打开文件:

"<<"juzhen.txt"<

return-1;

}

cout<<"A"<

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

{

for(j=0;j<3;j++)

{

cin>>A[i][j];

file<<'\t'<

}

file<

}

cout<<"B"<

for(i=0;i<3;i++)

{

for(j=0;j<2;j++)

{

cin>>B[i][j];

file<<'\t'<

}

file<

}

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

{

for(j=0;j<2;j++)

{

intc=0;

for(intk=0;k<3;k++)

{

c+=A[i][k]*B[k][j];

cout<<'\t'<

file<<'\t'<

}

file<

}

}

file.close();

}

 

#include

usingnamespacestd;

constintN=7;

intlast(constint&year,constint&month)

{

intnLast;

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)

nLast=31;//若每有天,则月末日期为

elseif(month==2)

{

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

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

nLast=29;//若为闰年则本月月末是号

else

nLast=28;//若为普通年份则本月末是号

}else

nLast=30;//若每月有天,则日期为

returnnLast;

}

 

voidmain()

{

intsrYear[N]={2000,1999,2000,1899,2051,1999,1999};

intsrMonth[N]={1,4,2,1,1,0,13};

intyqshuchu[N]={31,30,29,0,0,0,0};

for(inti=0;i

{

cout<<"第"<

if(last(srYear[i],srMonth[i])==yqshuchu[i])

cout<<"通过"<

else

cout<<"未通过"<

}

}

#include

#definePI3.1415926

#include

classbase//抽象基类BO声明

{

public:

virtualvoiddisplay()=0;//纯虚数

};

classcircle:

publicbase//公有派生

{

protected:

doubler;

public:

circle(doublex=0)

{r=x;}

voiddisplay()

{

cout<<"圆的面积为:

"<

}

};

classcfx:

publicbase

{

doublea,b,s;

public:

cfx(doublex=0,doubley=0)

{

a=x;

b=y;

voiddisplay()

{

s=a*b;

cout<<"长方形的面积为:

"<

}

}

};

classtx:

publicbase

{

doublea,b,h,s;

public:

tx(doublea1=0,doubleb1=0,doubleh1=0)

{

a=a1;b=b1,h=h1;

}

voiddisplay()

{

s=(a*b)*h/2;

cout<<"梯形的面积为:

"<

}

};

voidfun(base*ptr)//普通函数

{

ptr->display();

};

voidmain()

{

base*P;//声明抽象基类指针

circlec1(10);//声明派生类对象

cfxc2(9,10);//声明派生类对象

txc3(6,10,5);

p=&c1;

fun(p);

p=&c2;

fun(p);

p=&c3;

fun(p);

};

intfun(floata,floatb,floatc)

{

floats;

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

{

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

if(a==b&&b==c)

{

cout<<"等边三角形";

return2;

}elseif(a==b||a==c||b==c){

cout<<"等腰三角形";

return3;

}elseif((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c=a*a)){

cout<<"直角三角形";

return4;

}else{

cout<<"一般三角形";

return1;

}else{

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

return0;

}

}

}

//求最大公约数和最小公倍数

 

#include

usingnamespacestd;

fun(intm,intn)

{

intt,r;

if(m

while(n!

=0)

{

r=m%n;

m=n;

n=r;

}

returnm;

}

voidmain()

{

cout<<"18和的最大公约数是:

"<

}

#include

usingnamespacestd;

constintN=4;

intIsLeap(intyear)

{

intleap;

if(year%4==0)

{

if(year%100==0)

{

if(year%400==0)

leap=1;

else

leap=0;

}else

leap=1;

}else

leap=0;

returnleap;

}

voidmain()

{

intshu[N]={1999,2004,1990,2000};

intshuchu[N]={0,1,0,1};

for(inti=0;i

{

cout<<"第"<

if(IsLeap(shu[i])==shuchu[i])

cout<<"通过"<

else

cout<<"未通过"<

}

}

/*用-9之间不同的三个数构成一个三位数*/

#include

#include

usingnamespacestd;

intmain()

{

inti,j,k,count=0;

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

{

for(j=0;j<10;j++)

{

for(k=0;k<10;k++)

{

if(i==j||j==k||i==k)continue;

cout<

count++;

}

}

}

cout<<"总共有"<

}

/*统计学生成绩*/

#include

#include

usingnamespacestd;

intmain()

{

charname[5][12]={"小强","小红","张三","李四","王五"};

intscore,min,max;

intn=1;

doublesum;

fstreamfile("score.txt",ios:

:

out);

if(!

file){

cout<<"不能打开文件:

"<<"score.txt"<

return-1;

}

cout<<"Englishcheng:

"<

min=100;

max=0;

while(true)

{

file<

";

cout<<"Pleaseinput"<

"<

cout<<"Pleaseinput"<

";

cin>>score;

file<

n++;

sum+=score;

if(score>max)max=score;

elseif(score

}

file<<"共计"<

file<<"最高分,"<

file<<"最低分"<

file<<"平均分"<

file.close();

}

/*文件*/

#include

#include

usingnamespacestd;

intmain()

{

charname[20];

intscore,min,max,sum;

intn,n60,n90;

fstreamfile("chengji.txt",ios:

:

out);

if(!

file){

cout<<"不能打开文件:

"<<"chengji.txt"<

return-1;

}

while(true)

{

cout<<"Pleaseinputname(0exit):

";

cin>>name;

if(name[0]=='0')break;

cout<<"Pleaseinputhisscore:

";

cin>>score;

file<

'<

n++;

sum+=score;

if(score>max)max=score;

elseif(score

if(score<60)n60++;

elseif(score>=90)n90++;

}

file<<"共计"<

file<<"最高分,"<

file<<"最低分"<

file<<"平均分"<

file<<"优秀率(>=90),"<

file<<"不及格率(<60),"<

file.close();

}

intfun(floata,floatb,floatc)

{

floats;

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

{

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

if(a==b&&b==c)

{

cout<<"等边三角形";

return2;

}elseif(a==b||a==c||b==c){

cout<<"等腰三角形";

return3;

}elseif((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a)){

cout<<"直角三角形";

return4;

}else{

cout<<"一般三角形";

retur

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

当前位置:首页 > 工程科技 > 电子电路

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

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