西南交大计算机实验报告

更新时间:2024-07-07 11:07:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机程序设计基础

(C++)

实 验 报 告

信息学院计算机教育中心

二零一四年三月

实验_0验报告

教学班级:___ 7班__学生学号:__20133936_学生姓名:____葛劲松 实验日期:_____2014.3.11______实验地点:______7307___(机房) 指导教师签名:___王威_______ 实验成绩:___________

一、实验目的

1.熟悉VS2010 集成开发环境;

2.学习新建和打开控制台应用程序的方法; 3.通过运行示例程序了解程序开发过程;

二、实验任务

1.新建源程序文件,编辑以下程序,编译,链接,得出运行结果,并保存程序: #include using namespace std; void main( )

{ cout<<'a'<

2.新建源程序文件,编辑以下程序,编译,链接,运行,输入36和64,得出运行结果,并保存程序:

#include using namespace std; intmain()

{ float num1,num2,sum;

cout<< \ cin>> num1;

cout<< \ cin>> num2;

sum=num1+num2;

cout<< \ return 0; }

三、实验结果

1.

:运行结果

2.

实验__1_实验报告

一、实验目的

1.熟悉C++程序的集成开发环境; 2.学习新建和打开控制台应用程序的方法; 3.掌握简单数据运算,以及输入与输出方法。

二、实验任务

1.输入一摄氏温度,输出显示所转换的华氏温度。 (提示:摄氏温度=(华氏温度-32)×5/9) 2.画出一头威武雄壮的雄狮。 ,%%%%%% ,%%/\\%%%%/\\% ,%%%\\c \

%. %%%%/ o o \\%%% `%%. %%%% _ |%% `%% `%%%%(__Y__)% // ;%%%%`\\-/%%%' (( / `%%%%%%%' \\\\ .' | \\\\ / \\ | | \\\\/ ) | | \\ /_ | |__ (___________)))))))

三、实验结果(源程序 + 注释)

1.

2.

实验__2_实验报告

一、实验目的

1.掌握对一般数据的输入和输出格式控制方法;

2.掌握对实型数据输出形式的设置和小数位数的控制方法; 3.了解数据输入的相关注意事项。

二、实验任务

1. 键盘输入某台计算机的编号和该计算机的价格,并输出这些信息。 要求:编号为11位数字构成,如10987654321;价格含有小数部分,如998.0元;输出的编号只是由数字组成,不应该出现小数点等非数字符号。 2. 有一种加密方法是用原来字母的第n个字母代替原来的宁母。例如把A

用其后第4个字母E来替代。现在有一密文内容为wigvix,编程求出它的原文是什么?(提示:可根据上述加密原理,使用若干字符型变量来实现)。

3.编程实现:在计算机的提示下输入某学生的学号、英语成绩、高等数学成绩、线性代数成绩,计算得出三门课程平均成绩,并按如下格式输出显示。

成绩单

学号 20100002

**************************************** 科目成绩

----------------------------------------------------------------- 英语 85 高等数学 90

线性代数 88.5

**************************************** 平均成绩 87.8

三、实验结果(源程序 + 注释) #include

using namespace std; void main() {double a,b;

cout<<\输入计算机编号:\cin>>a;

cout<<\输入计算机价格:\cin>>b;

cout.precision(11);

cout<<\计算机编号为:\cout<

cout<<\计算机价格为:\}

2

#include #include using namespace std; void main()

{double name,score1,score2,score3,average; cout<<\请输入学号及三门课程成绩:\cin>>name>>score1>>score2>>score3; average=(score1+score2+score3)/3; cout.precision(8);

cout<

cout<<\cout<

cout<<\cout<

cout<

cout<<\cout.precision(1);

cout<

3#include using namespace std; void main()

{char a,b,c,d,e,f,a1,a2,a3,a4,a5,a6; int n=4;

cout<<\输入密文:\cin>>a>>b>>c>>d>>e>>f;

a1=a-n;a2=b-n;a3=c-n;a4=d-n;a5=e-n;a6=f-n;

cout<<\原文为:\}

实验__3实验报告

一、实验目的

1. 掌握“处理某一或某些操作只有在特定条件成立的情况下才会被执行”的编程思路和方法;

2. 掌握简单分支程序设计,以及if和if-else语句的使用方法。

二、实验任务

?x(x?1)?1. 已知一函数y??2x?1(1??x?10),输入x的值,求解并输出相应的y值。

?3x?11(x??10)?2. 求一元二次方程ax2+bx+c=0的根,其中a、b、c为实数,由键盘输入。

三、实验结果(源程序 + 注释) #include using namespace std; void main() {double x,y; cout<<\输入x:\cin>>x; if(x<1) y=x;

else

if(1<=x&&x<10)

y=x*2-1;

else

if(x>=10)

y=x*3-11;

cout<<\}

#include #include using namespace std; void main()

{double a,b,c,x1,x2;

cout<<\输入a,b,c:\cin>>a>>b>>c; if(b*b-4*a*c<0)

cout<<\数据输入错误,该方程无解!!!\ else if(b*b-4*a*c==0) { x1=x2=-b/2*a;

cout<<\方程有一解:x=\ else

{ x1=(-b-sqrt(b*b-4*a*c))/(2*a); x2=(-b+sqrt(b*b-4*a*c))/(2*a); cout<<\方程解为:x1=\ x2=\ } }

实验__4实验报告

1.掌握多路分支结构的程序设计,以及switch语句的使用方法;

2.学习通过程序调试来跟踪程序运行过程,查看程序运行过程中各个变量的取值变化 情况。

二、实验任务

1.某公司进行产品销售,既零售也批发,零售的价格与批发的价格不同,购买产品数量的多与少其价格也不同。具体标准见下表:

批 发 商 数量(个) 50~200 200以上 单位价格(元/个) 10 8 数量(个) 1~20 20~40 40~50 零 售 商 单位价格(元/个) 18 15 12 要求编写一程序,输入客户购买产品的数量,输出客户类型(批发或零售客户)、产品单价及应付的总额。

2. 给学生写评语,需将学生的考试成绩由百分制转换为5级制,标准为: 等级 分数段 A 95. - 100分 B 85.-94.分 C 75.-84.分 D 60.-74.分 E 60.分以下

3. 输入年号y和月份m, 输出y年的m月有多少天。

三、实验结果(源程序 + 注释)

#include using namespace std; void main() { inta,b,c;

cout<<\请输入购买数量:\cin>>a; if(a<0) cout<<\数量小于0该数据无效\else if(a>0&&a<50) {b=a/10; switch(b)

{case 0:case 1: c=18*a;

cout<<\该顾客购买数量为\为零售商,单价为18元,总价为\ case 2:case 3: c=15*a; cout<<\该顾客购买数量为\为零售商,单价为15元,总价为\ case 4: c=12*a; cout<<\该顾客购买数量为\为零售商,单价为12元,总价为\ } }

if(a<=200&&a>=50) {c=10*a; cout<<\该顾客购买数量为\为批发商,单价为10元,总价为\ else if(a>200) {c=8*a; cout<<\该顾客购买数量为\为批发商,单价为8元,总价为\ }

#include using namespace std; void main() { int a,b,c;

cout<<\请输入该同学成绩:\ cin>>a; b=a/5; switch(b) { case 19:

cout<<\该同学成绩为\等级为A\ case 17:case 18:

cout<<\该同学成绩为\等级为B\ case 15:case 16:

cout<<\该同学成绩为\等级为C\ case 12:case 13:case 14:

cout<<\该同学成绩为\等级为D\

case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11: cout<<\该同学成绩为\少于60分,不及格\}

#include using namespace std; void main() { int a,b,c;

cout<<\请输入年份和月份:\ cin>>a>>b; switch(b)

{ case 1:case 3:case 5:case 7:case 8:case 10:case 12: cout<

实验__5_实验报告

一、实验目的

1.理解“处理某一或某些操作需要被有条件地重复执行”的编程思路和方

法;

2.掌握循环结构的程序设计,以及while、do-while和for循环语句的使用

方法。

二、实验任务

1.计算

π111=1-+-+?直到最后一项小于10-6。 43572.编程实现阿基里德算法求解两个整数的最大公约数和最小公倍数。 ( 提示:设两个整数m、n(m>=n),用m除以n,求得余数q。

若q为零,n即为所求的最大公约数;

若q不为零,则更新除数和被除数(n→m,q →n)再做除法,直 至余数q为零止。这时,相应的n即为所求的最大公约数。

而最小大公倍数=原始m与n值的乘积/最大公约数。 ) 3. 编程实现十进制整数和二进制整数之间的转换。

三、实验结果(源程序 + 注释)

1;#include using namespace std; void main() {double sum,a,n,t;

cout<<\求π/4的值:请输入n:\

cin>>n;

sum=0;a=1;t=1; while(abs(a)<=n) { sum=sum+t*1.0/a; a=a+2;t=-t;}

cout<<\ }

2;#include using namespace std; void main( ) {

intm,n,q,s,a;

cout<<\求m,n的最大公约数,和最小公倍数。请请输入m,n(m>n):\

cin>>m>>n; s=m*n;

q=m%n; if(q==0)

cout<<\的最大公约数为\ m,n的最小公倍数是

\ else {do { m=n,n=q; q=m%n;} while(q!=0);

cout<<\的最大公约数为\,n的最小公倍数是

\}

实验__6_实验报告

一、实验目的

1.掌握循环与选择结构的嵌套的使用方法; 2.掌握嵌套循环的使用方法;

二、实验任务

1. 设计一个程序,求出n-m之间(m>n)的所有素数,要求:每行输出5个。 2. 键盘输入一行字符,统计字符总个数,以及其中的英文字母个数,如果是数字,则统计它们所构成的数据中,奇数个数和偶数个数分别是多少。 提示:可使用以下程序段,连续输入若干字符直到输入'\\n'时停止。 while(1) { ch=getchar();if(ch=='\\n')break;

。。。。。。 }

3. 两个乒乓球队进行比赛,各出3人。甲队为A、B、C共3人,乙队为X、Y、Z共3人,并以抽签方式决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Z比,请给出3对赛手的名单。 4. 用循环结构语句编程并输出下图,其行数有键盘给出。

例如:键盘输入:5,则运行结果如下 1 22 333 4444 555555555 4444 333 22 1

任务一

三、实验结果(源程序 + 注释) #include using namespace std;

void main() { inti,j,m,n,q=0; inta[10000];

cout<<\求出n-m之间(m>n)的所有素数,请输入m,n:\ cin>>m>>n; for (i=1;i<=n;i++) a[i]=0; i=2; while (i<=n/2+1) { if (!a[i]) {

for (j=2;j<=n/i+1;j++) { if (i*j<=n) a[i*j]=1; } } i++;

while (a[i]) i++; }

for (i=m;i<=n;i++) {

if (!a[i]) { cout<

if(q%5==0) cout<

}

任务二

#include using namespace std; void main() {char ch ;

int a=0,b=0,c=0,m; while(1)

{ ch=getchar();if(ch=='\\n')break;

if(ch>='a'&&ch<='z'|| ch>='A'&&ch<='Z') a=a+1;

else if(ch>='1'&&ch<='9')

if((ch-'0')%2==0) b=b+1; else c=c+1; } m=a+b+c;

cout<<\字母数\cout<<\偶数为\cout<<\奇数为\

cout<<\字符总数为\system(\}

任务三

#include using namespace std; void main() {char a,b,c;

{for(a='X';a<='Z';a++) {for(b='X';b<='Z';b++) {for(c='X';c<='Z';c++)

{if(a!='X'&& c!='X'&& c!='Z'&& a!=b&& a!=c&& b!=c) {cout<<\的对手为\cout<<\的对手为\cout<<\的对手为\} } } } }

}任务四

#include using namespace std; void main() {inti,j,m;

cout<<\请输入行数:\cin>>m;

for(i=1;i

{for(j=0;j<=2*m-1-i;j++) cout<<\ for(;j<=2*m-1;j++) cout<

for(j=0;j<=2*m-1;j++) cout<

for(i=m-1;i>=1;i--)

{for(j=1;j<=i;j++) cout<

实验_7实验报告

一、实验目的

1.掌握数值型一维数组的使用方法;

2.掌握对一组同类型的数据进行插入、删除、排序和查找等的常用算法。

二、实验任务

1. 对两个无序的数组(其中数组a长度为n,数组b长度m),采用选择法(或起泡法)

分别将这两个数组转为有序(元素值从小到大有序)。要求:a和b数组长度及其元素均由键盘获取。 2. 将以上任务1构建的两个有序的数组a和b,进行有序合并,即将这两个数组进行合并的过程中其数据始终保持有序。

(提示:数据结构:三个一维数组a,b,c

将a[ia]和b[ib]比较,谁小就把谁放入c[ic](c数组用于存放合并后的数据), 谁放入了c[ic]中谁的下标就加1,同时ic(c中当前存放数据的下标)加1,如下图所示。)

3. 计算以上任务2中c数组元素的平均值,并删除c中所有低于平均值的那些元素。

三、实验结果(源程序 + 注释)

#include using namespace std; void main()

{intm,n,i,j,p,q,f,e,k,t,a[50],b[50],c[100],v,sum=0;

cout<<\对两个无序的数组a,b排序,请分别输入数组a,b中数的个数:\cin>>n>>m;

cout<<\请输入数组a:\for(i=0;i>a[i];

cout<<\请输入数组b:\for(p=0;p>b[p]; for(i=0;ia[j]) {t=a[i];a[i]=a[j];a[j]=t;} cout<<\数组按从小到大顺序排列为\ for(j=0;j

while(j

{if(a[j]

while(q

cout<<\“a,b合并后的数组为:\for(f=0;f

{for(f=0;f

cout<<\合并数组的均值为\cout<<\其中大于均值的元素为:\ for (f=0;fv) cout<

实验__8实验报告

一、实验目的

1.掌握对一组同类型的数据进行插入、删除、排序和查找等的常用算法。

二、实验任务

1.使用插入排序法将键盘输入的无序数列按升序排列。 思路分析与算法:

1) 2) 3) 4) 5) 6)

从第一个元素开始,该元素可以认为已经被排序。 取出下一个元素,在已经排序的元素序列中从后向前扫描。 如果该元素(已排序)大于新元素,将该元素移到下一位置。 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置。 将新元素插入到该位置中。 重复步骤2。

2.选举猴王问题:N 只猴子围成一圈,顺序编号1至N。从编号为1的猴子开始依次报数,报数m 的猴子就退出圈子,接着再报,报数m 的猴子再退出圈子,依次继续下去,圈子最后所剩的一只猴子为猴王,它原先的编号是几? 思路分析与算法:

1)

使用一维数组存放猴子从1到n的编号,定义参加选举猴王的最多猴子数为40。 2)

i为每次循环时计数变量,k为按1,2,3,?m报数时的计数变量,t表示退出的猴子数。依次将退出的猴子对应的数组元素置0,直到只剩下一只猴子。 3)

找出数组中不为0的a[i],输出该数。

三、实验结果(源程序 + 注释)

插入排序

#include using namespace std; void main() {

inti,j,k,t,n,a[20];

cout<<\请输入需排序的数组a的元素个数(<=20):\cin>>n;

cout<<\请输入需排序的数组a的元素\for(i=0;i>a[i]; for(i=1;i

for(j=i;j>0&&t

a[j]=a[j-1]; }

a[j]=t; }

for(k=0;k选举猴王

#include using namespace std; void main()

{inta[40],m,n,j,k=1,i=-1;

cout<<\请输入猴子个数(少于40):\cin>>n;

cout<<\请输入需报的数:\cin>>m;

for(j=0;j

{ for(j=1;j<=m;) {i=(i+1)%n; if(a[i]!=0) j++;} if(k==n)break;

cout<

cout<<\猴王是:\号猴子!\}

本文来源:https://www.bwwdw.com/article/0bj.html

Top