C++程序作业.docx

上传人:b****6 文档编号:5626275 上传时间:2022-12-29 格式:DOCX 页数:23 大小:20.68KB
下载 相关 举报
C++程序作业.docx_第1页
第1页 / 共23页
C++程序作业.docx_第2页
第2页 / 共23页
C++程序作业.docx_第3页
第3页 / 共23页
C++程序作业.docx_第4页
第4页 / 共23页
C++程序作业.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

C++程序作业.docx

《C++程序作业.docx》由会员分享,可在线阅读,更多相关《C++程序作业.docx(23页珍藏版)》请在冰豆网上搜索。

C++程序作业.docx

C++程序作业

1.工人工资程序问题:

#include

voidmain()

{intt,w,s;

cout<<"请输入工人每周工作的时间和单位报酬:

";

cin>>t>>w;

if(t<=40)

s=t*w;

else

s=t*w+(t-40)*2*w;

cout<<"工人应得的工资:

"<

2.计算托运的费用:

#include

voidmain()

{doublek,s;

cout<<"请输入质量数:

";

cin>>k;

if(k<=50)

s=0.25*k;

else

if(50

s=0.25*50+(k-50)*0.35;

else

s=0.25*50+0.35*50+(k-100)*0.45;

cout<<"托运的费用为:

"<

3.输入一个日期确定它是第几天

#include

voidmain()

{inta,b,c,x,m;

Cout<<”请输入一个日期:

”;

cin>>a>>b>>c;

if(a%400==0||a%4==0&&a%100!

=0)

m=29;

else

m=28;

switch(b)

{case1:

x=c;break;

case2:

x=31+c;break;

case3:

x=31+m+c;break;

case4:

x=31+m+31+c;break;

case5:

x=31+m+31+30+c;break;

case6:

x=31+m+31+30+31+c;break;

case7:

x=31+m+31+30+31+30+c;break;

case8:

x=31+m+31+30+31+30+31+c;break;

case9:

x=31+m+31+30+31+30+31+31+c;break;

case10:

x=31+m+31+30+31+30+31+31+30+c;break;

case11:

x=31+m+31+30+31+30+31+31+30+31+c;break;case12:

x=31+m+31+30+31+30+31+31+30+31+30+c;break;}

cout<<"该日期为当年的第"<

4.求一元二次方程根的解:

#include

#include

voidmain()

{doublea,b,c,x,x1,x2,del,m,n;

cout<<"请输入三个整数:

";

cin>>a>>b>>c;

if(a==0)

if(b==0)

if(c==0)

cout<<"任意解"<

else

cout<<"无解"<

else{x=-c/b;

cout<

else

{del=b*b-4*a*c;m=-b/(2*a);}

if(del>0)

{x1=m+sqrt(del)/(2*a);

x2=m-sqrt(del)/(2*a);

cout<<"两不等的实根为:

";

cout<<"x1="<

cout<<"x2="<

else

if(del==0)

{x1=x2=m;cout<<"两相等的实根为:

"<

else

{n=sqrt(-del)/(2*a);

cout<<"第一个虚根为:

x1="<

cout<<"第二个虚根为:

x2="<

5.#include

main()

{intm,n,r;

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

"<

cin>>m,n;

if(m

{r=m;m=n;n=r;}

r=m%n;

while(r!

=0)

{m=n;n=r;r=m%n;}

cout<<"最大公约数为:

"<

6.水仙花(153=13+53+33)

#include

voidmain()

{inta,b,c,i;

i=100;

while(i<=999)

{a=i/100;

b=i/10%10;

c=i%10;

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

cout<

i++;}}

7.同构数(5与25与625)

#include

main()

{intx,a,b,n;

for(x=1;x<=99;x++)

{a=x*x*x*x%100;

b=x*x;

n=b%10;

if(x==n||x==a)

cout<<"x="<

8.P-119(15题)利用泰勒级数计算近似值:

e=1+1/1!

+1/2!

+1/3!

+···+1/n!

当最后一项的绝对值小于10-5时,统计累加了多少项。

#include

main()

{inta=1,i=1,m=0;

floatb=1;

while(b>=1e-5)

{i=i+1;

a=a*i;

b=1.0/a;

m=i+1;}

cout<

9.P-119(16题)(迭代法)

#include

#include

voidmain()

{floata=2.0,m=1,x1=1,x2;

while(fabs(m)>=1e-5)

{x2=(x1+a/x1)/2.0;

m=x2-x1;

x1=x2;}

cout<

10.P-119(19题)编写程序求满足不等式11+22+33····+nn>10000的最小项数n.

#include

#include

voidmain()

{inti=1,s;

while(s<=1e4)

{i++;s+=s;

s=pow(i,i);}

cout<

11.10个学生的成绩求平均值最大值最小值,P(162.1)

低于平均分的学生个数及第几个学生分数最高

#include

#defineM10

voidmain()

{inti,j,sum=0,b,c=0,a[M],ave,max,k;

for(i=0;i

{cout<<"请输入第"<

cin>>a[i];}

for(i=0;i

sum+=a[i];

ave=sum/M;

cout<<"10个学生的平均值"<

for(i=0;i

if(a[i]-ave<0)c++;

cout<<"十个学生中低于平均成绩的人数为"<

max=a[0];k=1;

for(i=1;i

if(max

{max=a[i];k=i+1;}

cout<<"学生成绩的最大值是"<

cout<<"第"<

for(i=1;i

for(j=0;j

if(a[j]>a[j+1])

{b=a[j];a[j]=a[j+1];a[j+1]=b;}

cout<

cout<<"学生成绩由低到高的顺序为:

"<

for(i=0;i

cout<

12.求矩阵元素和:

(P162.3)

#include

#defineM5

voidmain()

{inti,j,a[M][M],s1=0,s2=0,s3=0,s4=0,s5=0;

for(i=0;i

for(j=0;j

{cout<<"请输入矩阵第"<

cin>>a[i][j];}

for(i=0;i

{s1+=a[i][i];s2+=a[i][M-i-1];}

cout<<"输出主队角线数之和"<

cout<<"输出副队角线数之和"<

for(i=0;i

for(j=0;j

s3+=a[i][j];

s3=s3-s1-s2+a[M/2][M/2];

cout<<"除对角线外的所有元素之和为"<

for(i=0;i

for(j=i;j

s4+=a[i][j];

cout<<"输出上三角元素之和"<

for(i=0;i

s5+=a[0][i]+a[i][0]+a[M-1][i]+a[i][M-1];

s5=s5-a[0][0]-a[0][M-1]-a[M-1][0]-a[M-1][M-1];

cout<<"输出首行、首列、末行、末列元素之和"<

13.5个学生3门课程求学生成绩的平均值最高分及第几位所以课程平均分排序:

#include

voidmain()

{inti,j,a[5][3],m[3];;floatb[5],ave2[3],t,p[5],sum1,sum2,max,ave1;

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

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

{cout<<"请输入第:

"<

"<

";

cin>>a[i][j];}

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

{sum1=0;

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

sum1+=a[i][j];

ave1=sum1/3.0;b[i]=ave1;

cout<<"第:

"<

"<

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

{sum2=0;

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

sum2+=a[i][j];

ave2[j]=sum2/5.0;

cout<<"第:

"<

"<

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

{max=a[0][j];

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

if(max

max=a[i][j];

cout<<"第:

"<

"<

cout<<"学生排序前的平均分为:

"<

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

cout<

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

for(j=0;j<5-i;j++)

if(b[j]>b[j+1])

{t=b[j];b[j]=b[j+1];b[j+1]=t;}

cout<<"学生排序后的平均分为:

"<

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

cout<

14.鞍点P(163.4)

#include

voidmain()

{inta[3][3];

inti,j,k,max,volumn,row;boolflag;

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

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

{cout<<"请输入A矩阵第"<

cin>>a[i][j];}

cout<<"A矩阵:

\n";

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

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

cout<

cout<<"\n";}

volumn=0;row=0;

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

{max=a[i][0];

flag=true;

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

if(max

{max=a[i][j];

row=i;volumn=j;}

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

if(max>a[k][volumn])

{flag=false;break;}

if(flag)

cout<

else

cout<<"error"<

15.删去s1中所有出现在s2中的字符P(163.5)

#include

#include

voidmain()

{chars1[20],s2[20],s3[20];

inti,j,k=0,flag;

printf("第一个字符串");

gets(s1);

printf("第二个字符串");

gets(s2);

i=0;

for(i=0;s1[i]!

='\0';i++)

{flag=0;

for(j=0;s2[j]!

='\0';j++)

if(s1[i]==s2[j])

{flag=1;break;}

if(flag==0)

s3[k++]=s1[i];}

s3[k]='\0';

puts(s3);}

16.输入数字统计0到4有多少个:

#include

voidmain()

{inta[50],c[5],i,n=0,x;

cout<<"请输入一组数字:

(以输入-1为截止)"<

cin>>x;

while(x!

=-1)

{if(x>=0&&x<=4)

{a[n]=x;n++;}

cin>>x;}

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

c[i]=0;

for(i=0;i

c[a[i]]++;

cout<<"结果是:

"<

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

cout<<"数字"<

17.矩阵乘积:

#include

#defineN2

#defineM3

#defineP2

voidmain()

{inti,j,s=0,k,a[N][M],b[M][P],c[N][P];

for(i=0;i

for(j=0;j

{cout<<"请输入A矩阵第"<

cin>>a[i][j];}

cout<<"A矩阵:

"<

for(i=0;i

{for(j=0;j

cout<

cout<

for(i=0;i

for(j=0;j

{cout<<"请输入B矩阵第"<

cin>>b[i][j];}

cout<<"B矩阵:

"<

for(i=0;i

{for(j=0;j

cout<

cout<

for(i=0;i

for(j=0;j

for(s=k=0;k

{s+=a[i][k]*b[k][j];

c[i][j]=s;}

cout<<"C矩阵:

"<

for(i=0;i

{for(j=0;j

cout<

cout<

18.能同时被3,5,7整除

#include

voidmain()

{intm;

cout<<"请输入一个整数m";

cin>>m;

if(m%3==0&&m%5==0&&m%7==0)

cout<<"能同时被3,5,7整除"<

else

if(m%3==0&&m%5==0)

cout<<"能同时被3,5整除"<

else

if(m%3==0&&m%7==0)

cout<<"能同时被3,7整除"<

else

if(m%5==0&&m%7==0)

cout<<"能同时被5,7整除"<

else

if(m%5==0)

cout<<"能被5整除"<

else

if(m%3==0)

cout<<"能被3整除"<

else

if(m%7==0)

cout<<"能被7整除"<

else

cout<<"不能同时被3,5,7整除"<

19.求1-3+5-7+····+101的和:

#include

#include

main()

{ints=0,x=1,t=1;

while(fabs(x)<=101)

{s=s+x;

x=fabs(x)+2;

t=-t;x=x*t;}

cout<

20.输入一个正整数:

#include

voidmain()

{intn,count=0,a;

cout<<"请输入n的值:

";

cin>>n;

while(n!

=0)

{a=n%10;

cout<

n=n/10;

count++;}

cout<<"该数的位数为:

"<

21.方程个数少于未知数个数求整解问题:

P(120.21)

#include

main()

{intx,y,z;

for(x=1;x<=16;x++)

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

{z=30-x-y;

if(3*x+2*y+z==50)

cout<<"x="<

22.用类定义求复数和差:

#include

classcomplex{

private:

floatreal,imag;

public:

voidsetcomplex(floatreal,floatimag);

floatgetreal();

floatgetimag();

complexadd(complexcp1,complexcp2);

complexplus(complexcp1,complexcp2);};

voidcomplex:

:

setcomplex(floatr,floati)

{real=r;imag=i;}

floatcomplex:

:

getreal(){returnreal;}

floatcomplex:

:

getimag(){returnimag;}

complexcomplex:

:

add(complexcp1,complexcp2)

{complexcp3;

cp3.setcomplex(cp1.getreal()+cp2.getreal(),cp1.getimag()+cp2.getimag());

returncp3;}

complexcomplex:

:

plus(complexcp1,complexcp2)

{complexcp3;

cp3.setcomplex(cp1.getreal()-cp2.getreal(),cp1.getimag()-cp2.getimag());

returncp3;}

voidmain()

{complexcp1,cp2,cp3;

cp1.setcomplex(5,6);

cp2.setcomplex(3,4);

cp3=cp3.add(cp1,cp2);

cout<<"两个复数的和为:

"<

cp3=cp3.plus(cp1,cp2);

cout<<"两个复数的差为:

"<

23.用类求圆面积:

#include

classcircle

{floatr;

public:

voidsetR(floatR);

floatarea();

voidshowarea();};

voidcircle:

:

setR(floatR)

{r=R;}

floatcircle:

:

area()

{return3.14*r*r;}

voidcircle:

:

showarea()

{cout<<"输出圆的面积为:

"<

main()

{floata;

circlec;

cout<<"请输入圆的半径:

";

cin>>a;

c.setR(a);

c.showarea();}

24.用类求矩阵面积和周长:

#include

classJX

{intx,y;

public:

voidsetshu(inta,intb);

intchang(),area();

voidshowchang();

voidshowarea();};

voidJX:

:

setshu(inta,intb)

{x=a;y=b;}

intJX:

:

chang()

{return2*(x+y);}

voidJX:

:

showchang()

{cout<<"周长为:

"<

intJX:

:

area()

{returnx*y;}

voidJX:

:

showarea()

{cout<<"面积为:

"<

voidmain()

{intm,n;

JXj;

cout<<"请输入长和宽:

";

cin>>m>>n;

j.setshu

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

当前位置:首页 > PPT模板 > 商务科技

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

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