C ++ 实验报告4.docx

上传人:b****8 文档编号:11445697 上传时间:2023-03-01 格式:DOCX 页数:14 大小:258.47KB
下载 相关 举报
C ++ 实验报告4.docx_第1页
第1页 / 共14页
C ++ 实验报告4.docx_第2页
第2页 / 共14页
C ++ 实验报告4.docx_第3页
第3页 / 共14页
C ++ 实验报告4.docx_第4页
第4页 / 共14页
C ++ 实验报告4.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C ++ 实验报告4.docx

《C ++ 实验报告4.docx》由会员分享,可在线阅读,更多相关《C ++ 实验报告4.docx(14页珍藏版)》请在冰豆网上搜索。

C ++ 实验报告4.docx

C++实验报告4

西安交通大学实验报告

课程计算机程序设计实验名称C++集成开发环境的使用第1页共13页

系别_______电气学院___________实验日期2011年3月17日

专业班级____钱学森02____组别_____________实验报告日期2011年3月17日

姓名____杨帆_______学号__2010045052报告退发(订正、重做)

同组人_________________________________教师审批签字

一.实验目的

(1)掌握集成开发环境的使用方法;

(2)了解C++程序的基本特点。

二.实验内容

(-)实验题目一:

编写程序将四阶方阵转置

1.要点分析

2.程序源代码

#include

usingnamespacestd;

intmain()

{

inti,j;

inta[4][4]={4,6,8,9,

2,7,4,5,

3,8,16,15,

1,5,7,11};

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

{

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

cout<

cout<

}

return0;

}

3.实验结果

(二)实验题目二:

使用数组编写一个统计学生课程平均分的程序:

1.要点分析

2.程序源代码

#include

usingnamespacestd;

constintnum=1;

intmain()

{

inta[4][num];

doubleb[num];

inti,j;

cout<<"请依次学生的:

"<

cout<<"学号高数英语体育成绩:

"<

for(i=0;i<=num-1;i++)

{

cout<

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

cin>>a[i][j];

}

cout<<"学号高数英语体育平均分"<

cout<<"----------------------------"<

for(i=0;i<=num-1;i++)

{

b[i]=0;

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

b[i]=b[i]+a[i][j];

b[i]=b[i]/3;

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

cout<

cout<

}

return0;

}

3.实验结果

(三)实验题目三

编写一个程序,要求用户输入一个十进制正整数,然后分别转换为二进制,八进制,十六进制输出。

要点分析

1.程序源代码

#include

#include

usingnamespacestd;

constintsize=30;

intmain()

{

intn,m,i,x2,x8,x16;

inta[size],b[size],c[size];

cout<<"请输入一个十进制的整数:

";

cin>>n;

m=n;i=0;

while(m!

=0)

{

a[i]=m%2;

m=int(m/2);

i++;

}

x2=i-1;

cout<<"将其转为二进制的结果为:

";

for(i=x2;i>=0;i--)

cout<

//二进制部分

cout<

<<"将其转为八进制的结果为:

";

a[x2+1]=0;a[x2+2]=0;

x8=int((x2+3)/3)-1;

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

b[i]=a[3*i]+2*a[3*i+1]+4*a[3*i+2];

for(i=x8;i>=0;i--)

cout<

//八进制部分

cout<

<<"将其转为十六进制的结果为:

";

a[x2+3]=0;

x16=int((x2+4)/4)-1;

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

c[i]=a[4*i]+2*a[4*i+1]+4*a[4*i+2]+8*a[4*i+3];

for(i=x16;i>=0;i--)

if(c[i]<=9)

cout<

else

cout<

cout<

//十六进制部分

return0;

}

2.实验结果

(四)实验题目四

替换加密:

(凯撒加密法)

1.要点分析

2.程序源代码

#include

usingnamespacestd;

constintMax=20;

intmain()

{

inti;

chara[Max];

cout<<"请输入待加密句子:

";

cin.get(a,20);

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

{

if(a[i]>='A'&&a[i]<='Z')

{

if(a[i]>='X')

a[i]=a[i]-'Z'+'a'+2;

elsea[i]=a[i]+3+'a'-'A';

}

else

if(a[i]>='a'&&a[i]<='z')

{

if(a[i]>='x')

a[i]=a[i]-'z'+'A'+2;

elsea[i]=a[i]+3+'A'-'a';

}

elsea[i]=32;

}

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

cout<

cout<

return0;

}

3.实验结果

(五)实验题目五

编写凯撒解密程序,即将第6题凯撒加密的密文解密成明文。

1.要点分析

2.程序源代码

#include

usingnamespacestd;

constintMax=20;

intmain()

{

inti;

chara[Max];

cout<<"请输入待解密句子:

";

cin.get(a,20);

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

{

if(a[i]>='A'&&a[i]<='Z')

{

if(a[i]<='C')

a[i]=a[i]+'z'-'A'-2;

elsea[i]=a[i]-3+'a'-'A';

}

else

if(a[i]>='a'&&a[i]<='z')

{

if(a[i]<='c')

a[i]=a[i]-'a'+'Z'-2;

elsea[i]=a[i]-3+'A'-'a';

}

elsea[i]=32;

}

for(i=0;i<=Max-1;i++)

cout<

cout<

return0;

}

3.实验结果

(六)实验题目六

编写求50!

的程序,要求数组的右端存放结果的低位,左端存放结果的高位,实际上是修改第4章例4-7源程序。

1.算法分析

2.程序源代码

#include

intmain()

{

constintMAXSIZE=100;

intarray[MAXSIZE];

intn=50,sum,sc,j,unuse=0;

for(inti=0;i<=MAXSIZE-1;i++)

array[i]=0;//将数组清0

array[MAXSIZE-1]=1;

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

{

sc=0;

for(j=MAXSIZE-1;j>=0;j--)

{

sum=array[j]*i+sc;//当前计算结果加上上一次进位值

sc=sum/10;//存放进位数值

array[j]=sum%10;}//将余数存入数组}

}

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

{

if(array[i]==0)

unuse=unuse+1;//计算数组头部未被使用的单元

elsebreak;

}

cout<

=";

j=0;

for(i=unuse;i<=MAXSIZE-1;i++)

{

cout<

j++;

if(j==30)

{

cout<

j=0;

}

}

cout<

return0;

}

3.实验结果

七)实验题目七:

两个有序数列(由小到大排列)存放在两个数组中,将两数列归并为一个有序数列,即归并后的结果数列放在第三个数组中。

例如:

inta[5]={1,4,10,13,16};//已知数列

intb[8]={3,6,9,12,15,18,21,24};//已知数列

intc[13]={1,3,4,6,10,12,13,15,16,18,21,24};//归并后的结果数列

1.要点分析

2.程序源代码

#include

usingnamespacestd;

intmain()

{

inti,j,n;

intc[13];

inta[5]={1,4,10,13,16};//已知数列

intb[8]={3,6,9,12,15,18,21,24};//已知数列

i=0;j=0;

while(i<=4||j<=7)

{

if(i<=4&&j<=7)

{

if(a[i]>b[j])

{

c[i+j]=b[j];

j++;

}

else

{

c[i+j]=a[i];

i++;

}

}

else

if(i>4)

{

c[i+j]=b[j];

j++;

}

else

{

c[i+j]=a[i];

i++;

}

}

cout<<"c[13]={";

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

cout<

cout<<"}"<

return0;

}

3.实验结果

个人小结

本次试验遇到了不少困难,好在最后都一一解决掉了。

还有感觉自己的思路总是不能回到正轨上来……似乎总是把简单的问题写的很复杂以至于自己也看不懂。

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

当前位置:首页 > 农林牧渔 > 畜牧兽医

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

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