C++实验设计报告.docx
《C++实验设计报告.docx》由会员分享,可在线阅读,更多相关《C++实验设计报告.docx(20页珍藏版)》请在冰点文库上搜索。
C++实验设计报告
C++程序设计
资源学院
地物07-2班
纪素艳
05072437
实验1C++程序的运行环境和运行一个C++程序的方法
1.实验目的
(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个C程序。
(3)通过运行简单的C++程序,初步了解C++源程序的结构和特点。
2.实验内容:
改错
1-2代码:
#include
usingnamespacestd;
intadd(intx,inty)
{
intz;
z=x+y;
return(z);
}
intmain()
{
inta,b,c;
cout<<"请输入a,b的值:
";
cin>>a>>b;
c=add(a,b);
cout<<"a+b="<return0;
}
运行结果:
实验2数据类型与表达式
1.实验目的
(1)掌握C++语言数据类型,熟悉如何定义变量,以及对它们赋值的方法。
(2)学会使用C++有关算术运算符,以及包含这些运算符的表达式。
(3)进一步熟悉C++程序的结构。
(4)进一步熟悉C++程序的编辑、编译、连接和运行的过程。
2.实验内容:
题2-2
#include
usingnamespacestd;
intmain()
{
charc1='C',c2='+',c3='+';
cout<<"Isay:
\""<cout<<"\t\t"<<"Hesays:
\"C++isveryinteresting!
\""<<'\n';
return0;
}
运行结果:
题2-3
#include
usingnamespacestd;
intmain()
{
inti,j,m,n;
i=8;
j=10;
m=++i+j++;
n=(++i)+(++j)+m;
cout<
return0;
}
题2-4-
(1)
#include
usingnamespacestd;
intmain()
{
charc1,c2,c3,c4,c5;
c1='C';
c2='h';
c3='i';
c4='n';
c5='a';
cout<<"China的密码是:
"<c1=c1+4;
c2=c2+4;
c3=c3+4;
c4=c4+4;
c5=c5+4;
cout<return0;
}
题2-4-
(2)
#include
usingnamespacestd;
intmain()
{
charc1='T',c2='o',c3='d',c4='a',c5='y';
c1=c1+4;
c2=c2+4;
c3=c3+4;
c4=c4+4;
c5=c5+4;
cout<<"Today的密码是:
"<return0;
}
题2-4-(3)
#include
usingnamespacestd;
intmain()
{
charc1='C',c2='h',c3='i',c4='n',c5='a';
c1=c1-4+26;
c2=c2-4;
c3=c3-4;
c4=c4-4;
c5=c5-4+26;
cout<<"China的密码是:
"<return0;
}
实验3C++程序设计初步
1.实验目的
(1)掌握简单的C++程序的编写和调试方法。
(2)掌握C++程序中使用最多的语句--赋值语句和输入输出的使用方法。
(3)掌握结构化程序的3种基本结构(顺序结构、选择结构、循环结构)在C++中的实现。
2.实验内容
题3-1
#include
#include
#include
usingnamespacestd;
intmain()
{intx,y;
cout<<"pleaseenterx=";
cin>>x;
if(x<1)y=x;
if(x<10&&x>=1)y=2*x-1;
if(x>=10)y=3*x-11;
cout<<"y="<return0;
}
题3-2
一个数如果恰好等于它的因子之和,这个数就称为完数,例如,6的因子为1,2,3。
而6=1+2+3因此6是“完数”,编程序找出1000之内的所有完数,并按下面格式输出其因子:
6,itsfactorsare1,2,3
要求用两种不同的方法编程序,并做比较。
程序代码:
#include
#include
usingnamespacestd;
intmain()
{
intm,i,sum=0;
cout<<"请输入m=:
"<cin>>m;
for(m=1;m<=1000;m++)
for(i=1;i<=(m-1);i++)
if(m%i==0)
sum=sum+i;
if(sum=m)
cout<sum"<return0;
}
题3-3
#include
#include
usingnamespacestd;
intmain()
{
doublex1,x2,p=0,a;
cout<<"请输入a的值:
";
cin>>a;
if(a<0)
{
cout<<"a的值应当是正值,请重新输入a的值:
";
cin>>a;
}
x1=a/2;
while((fabs(x1-x2))>1e-5)
{x2=0.5*(x1+a/x1);
p=x1;
x1=x2;
x2=p;
}
cout<<"a的平方根为:
"<return0;
}
题3-4-1
#include
#include
usingnamespacestd;
intmain()
{
inti,j,k;
for(j=1;j<=4;j++)
{
for(i=1;i<=2*j-1;i++)
{
cout<<"*";
}
cout<}
for(j=1;j<=3;j++)
{
for(k=7;k>=2*j+1;k--)
{
cout<<"*";
}
cout<}
return0;
}
题3-4-2
#include
#include
usingnamespacestd;
intmain()
{
inti,j;
intx=4;
for(i=1;i<=x*2;i+=2)
{
for(j=0;j<=x-i/2+1;j++)cout<<"";
for(j=1;j<=i;j++)cout<<"*";
cout<}
for(i=(x-1)*2;i>=1;i-=2)
{
for(j=0;j<=x-i/2+2;j++)cout<<"";
for(j=1;j
cout<}
return0;
}
题3-5
#include
usingnamespacestd;
intmain()
{
intA=1,B=2,C=3;
intx,y,z;
cout<<"三队参赛选手分别为:
"<for(x=1;x<=3;x++)
{
for(y=1;y<=3;y++)
{
for(z=1;z<=3;z++)
{
if(x!
=A)
if(z!
=C)
if(x!
=C)
if(x!
=y&&x!
=z&&y!
=z)
{
switch(x)
{
case1:
cout<<"A--x"<<"";
break;
case2:
cout<<"B--x"<<"";
break;
case3:
cout<<"C--x"<<"";
break;
}
switch(y)
{
case1:
cout<<"A--y"<<"";
break;
case2:
cout<<"B--y"<<"";
break;
case3:
cout<<"C--y"<<"";
break;
}
switch(z)
{
case1:
cout<<"A--z"<<"";
break;
case2:
cout<<"B--z"<<"";
break;
case3:
cout<<"C--z"<<"";
break;
}
}
}
}
}
cout<return0;
}
实验四函数与预处理
1.实验目的
(1)熟悉定义函数的方法、函数实参与形参的对应关系以及“值传递”的方式。
(2)熟悉函数的嵌套调用和递归调用的方法。
(3)熟悉全局变量、局部变量概念和使用方法。
(4)熟悉编译预处理的应用。
(5)掌握多文件的程序的编译和运行的方法
实验4-3
程序代码:
#include
usingnamespacestd;
voidmove(charx,chary,charz,intn);
inttemp;
intmain()
{
intnum;
cout<<"请输入要从A移到C的盘子个数:
"<cin>>num;
move('A','B','C',num);
cout<<"将"<"<return0;
}
voidmove(charx,chary,charz,intn)
{
n=n-1;
if(n>=1)
{
move(x,z,y,n);
cout<temp=temp+1;
move(y,x,z,n);
}
else
{
cout<temp=temp+1;
}
}
运行结果:
题5-1
#include
usingnamespacestd;
intmain()
{
inti,j,min,temp,a[11];
cout<<"enterdata:
"<for(i=1;i<=10;i++)
{
cout<<"a["<
cin>>a[i];
}
cout<"<for(i=1;i<=10;i++)
cout<cout<for(i=1;i<=9;i++)
{
min=i;
for(j=i+1;j<=10;j++)
if(a[min]>a[j])min=j;
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
cout<"<for(i=1;i<=10;i++)
cout<cout<return0;
}
题5-2
#include
usingnamespacestd;
intmain()
{
constintn=7;
inti,number,top,bott,mid,loca,a[n];
boolflag=true,sign;
charc;
cout<<"enterdata:
"<cin>>a[0];
i=1;
while(i{
cin>>a[i];
if(a[i]>=a[i-1])
i++;
else
cout<<"enterthisdataagain:
";
}
cout<for(i=0;icout<cout<while(flag)
{
cout<<"inutnumbertolookfor:
";
cin>>number;
sign=false;
top=0;
bott=n-1;
if((numbera[n-1]))
loca=-1;
while((!
sign)&&(top<=bott))
{
mid=(bott+top)/2;
if(number==a[mid])
{
loca=mid;
cout<<"Find"<sign=true;
}
elseif(numberbott=mid-1;
else
top=mid+1;
}
if(!
sign||loca==-1)
cout<cout<<"continuornot(Y/N)?
";
cin>>c;
if(c=='N'||c=='n')
flag=false;
}
return0;
}
题5-4
#include
#include
usingnamespacestd;
constintn=10;
stringname[n];
intnum[n],score[n];
intmain()
{
inti;
voidinput_data();
input_data();
cout<"<for(i=0;iif(score[i]<60)
cout<return0;
}
voidinput_data()
{
inti;
for(i=0;i{
cout<<"inputname,numberandscoreofstudent"<
";
cin>>name[i]>>num[i]>>score[i];
}
}
题5-5
#include
usingnamespacestd;
intmain()
{
constintn=4,m=5;
inti,j,a[n][m],max,maxj;
boolflag;
for(i=0;ifor(j=0;jcin>>a[i][j];
for(i=0;i{
max=a[i][0];maxj=0;
for(j=0;jif(a[i][j]>max)
{
max=a[i][j];
maxj=j;
}
flag=true;
for(intk=0;kif(max>a[k][maxj])
{
flag=false;
continue;
}
if(flag)
{
cout<<"a["<
break;
}
}
if(!
flag)
cout<<"itdoesnotexist!
"<return0;
}