C++程序作业Word格式文档下载.docx
《C++程序作业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++程序作业Word格式文档下载.docx(23页珍藏版)》请在冰豆网上搜索。
a%100!
=0)
m=29;
m=28;
switch(b)
{case1:
x=c;
break;
case2:
x=31+c;
case3:
x=31+m+c;
case4:
x=31+m+31+c;
case5:
x=31+m+31+30+c;
case6:
x=31+m+31+30+31+c;
case7:
x=31+m+31+30+31+30+c;
case8:
x=31+m+31+30+31+30+31+c;
case9:
x=31+m+31+30+31+30+31+31+c;
case10:
x=31+m+31+30+31+30+31+31+30+c;
case11:
x=31+m+31+30+31+30+31+31+30+31+c;
case12:
x=31+m+31+30+31+30+31+31+30+31+30+c;
cout<
该日期为当年的第"
x<
天"
4.求一元二次方程根的解:
math.h>
{doublea,b,c,x,x1,x2,del,m,n;
请输入三个整数:
cin>
if(a==0)
if(b==0)
if(c==0)
cout<
任意解"
无解"
else{x=-c/b;
cout<
{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);
两不等的实根为:
x1="
x1<
x2="
x2<
else
if(del==0)
{x1=x2=m;
两相等的实根为:
{n=sqrt(-del)/(2*a);
第一个虚根为:
x1="
m<
+i"
n<
第二个虚根为:
x2="
-i"
}}
5.#include<
main()
{intm,n,r;
请输入两个整数:
m,n;
if(m<
n)
{r=m;
m=n;
n=r;
r=m%n;
while(r!
{m=n;
r=m%n;
最大公约数为:
6.水仙花(153=13+53+33)
{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)
i<
i++;
7.同构数(5与25与625)
{intx,a,b,n;
for(x=1;
=99;
x++)
{a=x*x*x*x%100;
b=x*x;
n=b%10;
if(x==n||x==a)
x="
8.P-119(15题)利用泰勒级数计算近似值:
e=1+1/1!
+1/2!
+1/3!
+·
·
+1/n!
当最后一项的绝对值小于10-5时,统计累加了多少项。
{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;
9.P-119(16题)(迭代法)
{floata=2.0,m=1,x1=1,x2;
while(fabs(m)>
{x2=(x1+a/x1)/2.0;
m=x2-x1;
x1=x2;
10.P-119(19题)编写程序求满足不等式11+22+33·
+nn>
10000的最小项数n.
{inti=1,s;
while(s<
=1e4)
{i++;
s+=s;
s=pow(i,i);
11.10个学生的成绩求平均值最大值最小值,P(162.1)
低于平均分的学生个数及第几个学生分数最高
#defineM10
{inti,j,sum=0,b,c=0,a[M],ave,max,k;
for(i=0;
M;
i++)
{cout<
请输入第"
i+1<
个学生的成绩"
a[i];
sum+=a[i];
ave=sum/M;
10个学生的平均值"
ave<
if(a[i]-ave<
0)c++;
十个学生中低于平均成绩的人数为"
c<
max=a[0];
k=1;
for(i=1;
if(max<
a[i])
{max=a[i];
k=i+1;
学生成绩的最大值是"
max<
第"
个学生的成绩最高"
for(j=0;
j<
M-i;
j++)
if(a[j]>
a[j+1])
{b=a[j];
a[j]=a[j+1];
a[j+1]=b;
学生成绩由低到高的顺序为:
for(i=0;
a[i]<
12.求矩阵元素和:
(P162.3)
#defineM5
{inti,j,a[M][M],s1=0,s2=0,s3=0,s4=0,s5=0;
{cout<
请输入矩阵第"
行第"
j+1<
列的元素"
cin>
a[i][j];
for(i=0;
{s1+=a[i][i];
s2+=a[i][M-i-1];
输出主队角线数之和"
s1<
输出副队角线数之和"
s2<
for(j=0;
s3+=a[i][j];
s3=s3-s1-s2+a[M/2][M/2];
除对角线外的所有元素之和为"
s3<
for(j=i;
s4+=a[i][j];
输出上三角元素之和"
s4<
for(i=0;
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];
输出首行、首列、末行、末列元素之和"
s5<
13.5个学生3门课程求学生成绩的平均值最高分及第几位所以课程平均分排序:
{inti,j,a[5][3],m[3];
floatb[5],ave2[3],t,p[5],sum1,sum2,max,ave1;
5;
for(j=0;
3;
请输入第:
个学生第:
门课程的成绩:
{sum1=0;
j++)
sum1+=a[i][j];
ave1=sum1/3.0;
b[i]=ave1;
第:
个学生的平均分为:
b[i]<
{sum2=0;
sum2+=a[i][j];
ave2[j]=sum2/5.0;
第:
门课程的平均分:
ave2[j]<
{max=a[0][j];
a[i][j])
max=a[i][j];
门课程的最高分:
学生排序前的平均分为:
5-i;
if(b[j]>
b[j+1])
{t=b[j];
b[j]=b[j+1];
b[j+1]=t;
学生排序后的平均分为:
for(i=1;
=5;
14.鞍点P(163.4)
{inta[3][3];
inti,j,k,max,volumn,row;
boolflag;
for(i=0;
for(j=0;
{cout<
请输入A矩阵第"
行第"
列的元数"
A矩阵:
\n"
{for(j=0;
a[i][j]<
volumn=0;
row=0;
{max=a[i][0];
flag=true;
for(j=1;
if(max<
{max=a[i][j];
row=i;
volumn=j;
for(k=0;
k++)
if(max>
a[k][volumn])
{flag=false;
if(flag)
row+1<
volumn+1<
error"
15.删去s1中所有出现在s2中的字符P(163.5)
stdio.h>
string.h>
{chars1[20],s2[20],s3[20];
inti,j,k=0,flag;
printf("
第一个字符串"
);
gets(s1);
第二个字符串"
gets(s2);
i=0;
s1[i]!
='
\0'
{flag=0;
s2[j]!
if(s1[i]==s2[j])
{flag=1;
if(flag==0)
s3[k++]=s1[i];
s3[k]='
puts(s3);
16.输入数字统计0到4有多少个:
{inta[50],c[5],i,n=0,x;
请输入一组数字:
(以输入-1为截止)"
x;
while(x!
=-1)
{if(x>
=0&
=4)
{a[n]=x;
n++;
=4;
c[i]=0;
n;
c[a[i]]++;
结果是:
数字"
出现"
c[i]<
次"
17.矩阵乘积:
#defineN2
#defineM3
#defineP2
{inti,j,s=0,k,a[N][M],b[M][P],c[N][P];
N;
{cout<
请输入A矩阵第"
列的数字"
A矩阵:
{for(j=0;
P;
请输入B矩阵第"
b[i][j];
B矩阵:
b[i][j]<
for(s=k=0;
{s+=a[i][k]*b[k][j];
c[i][j]=s;
C矩阵:
{for(j=0;
cout<
c[i][j]<
18.能同时被3,5,7整除
#include<
{intm;
请输入一个整数m"
m;
if(m%3==0&
m%5==0&
m%7==0)
能同时被3,5,7整除"
if(m%3==0&
m%5==0)
能同时被3,5整除"
能同时被3,7整除"
if(m%5==0&
能同时被5,7整除"
if(m%5==0)
能被5整除"
if(m%3==0)
能被3整除"
if(m%7==0)
能被7整除"
不能同时被3,5,7整除"
19.求1-3+5-7+·
+101的和:
{ints=0,x=1,t=1;
while(fabs(x)<
=101)
{s=s+x;
x=fabs(x)+2;
t=-t;
x=x*t;
20.输入一个正整数:
{intn,count=0,a;
请输入n的值:
while(n!
{a=n%10;
a<
n=n/10;
count++;
该数的位数为:
count<
位"
21.方程个数少于未知数个数求整解问题:
P(120.21)
{intx,y,z;
for(x=1;
=16;
for(y=1;
y<
=25;
y++)
{z=30-x-y;
if(3*x+2*y+z==50)
"
y="
z="
z<
22.用类定义求复数和差:
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;
getimag(){returnimag;
complexcomplex:
add(complexcp1,complexcp2)
{complexcp3;
cp3.setcomplex(cp1.getreal()+cp2.getreal(),cp1.getimag()+cp2.getimag());
returncp3;
plus(complexcp1,complexcp2)
cp3.setcomplex(cp1.getreal()-cp2.getreal(),cp1.getimag()-cp2.getimag());
returncp3;
{complexcp1,cp2,cp3;
cp1.setcomplex(5,6);
cp2.setcomplex(3,4);
cp3=cp3.add(cp1,cp2);
两个复数的和为:
cp3.getreal()<
+"
cp3.getimag()<
i\n"
cp3=cp3.plus(cp1,cp2);
两个复数的差为:
23.用类求圆面积:
#include<
classcircle
{floatr;
voidsetR(floatR);
floatarea();
voidshowarea();
voidcircle:
setR(floatR)
{r=R;
floatcircle:
area()
{return3.14*r*r;
showarea()
{cout<
输出圆的面积为:
area()<
main()
{floata;
circlec;
请输入圆的半径:
a;
c.setR(a);
c.showarea();
24.用类求矩阵面积和周长:
classJX
{intx,y;
voidsetshu(inta,intb);
intchang(),area();
voidshowchang();
voidJX:
setshu(inta,intb)
{x=a;
y=b;
intJX:
chang()
{return2*(x+y);
showchang()
周长为:
chang()<
{returnx*y;
面积为:
{intm,n;
JXj;
请输入长和宽:
m>
j.setshu