西南交通大学c++上机实验答案版教学文案.docx

上传人:b****8 文档编号:11320065 上传时间:2023-02-26 格式:DOCX 页数:42 大小:48.35KB
下载 相关 举报
西南交通大学c++上机实验答案版教学文案.docx_第1页
第1页 / 共42页
西南交通大学c++上机实验答案版教学文案.docx_第2页
第2页 / 共42页
西南交通大学c++上机实验答案版教学文案.docx_第3页
第3页 / 共42页
西南交通大学c++上机实验答案版教学文案.docx_第4页
第4页 / 共42页
西南交通大学c++上机实验答案版教学文案.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

西南交通大学c++上机实验答案版教学文案.docx

《西南交通大学c++上机实验答案版教学文案.docx》由会员分享,可在线阅读,更多相关《西南交通大学c++上机实验答案版教学文案.docx(42页珍藏版)》请在冰豆网上搜索。

西南交通大学c++上机实验答案版教学文案.docx

西南交通大学c++上机实验答案版教学文案

实验1

教学班级:

学生学号:

学生姓名:

实验日期:

2014年3月1日实验地点:

(机房)

指导教师签名:

__________实验成绩:

___________

一、实验目的

1.熟悉C++程序的集成开发环境;

2.学习新建和打开控制台应用程序的方法;

3.掌握简单数据运算,以及输入与输出方法。

二、实验任务

1.输入一摄氏温度,输出显示所转换的华氏温度。

(提示:

摄氏温度=(华氏温度-32)×5/9)

2.画出一头威武雄壮的雄狮。

%%%%%%

%%/\%%%%/\%

%%%\c""J/%%%

%.%%%%/oo\%%%

`%%.%%%%_|%%

`%%`%%%%(__Y__)%

//;%%%%`\-/%%%'

((/`%%%%%%%'

\\.'|

\\/\||

\\/)||

\/_||__

(___________)))))))

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

1.

源程序

#include

usingnamespacestd;

voidmain()

{

doublea,b;

cout<<"请输入一摄氏温度:

"<

cin>>a;

b=a*9/5+32;

cout<<"转换的华氏温度为:

"<

}

2.

源程序

#include

usingnamespacestd;

voidmain()

{

cout<<",%%%%%%"<

cout<<",%%/\%%%%/\%"<

cout<<",%%%\c""J/%%%"<

cout<<"%.%%%%/oo\%%%"<

cout<<"`%%.%%%%_|%%"<

cout<<"`%%`%%%%(__Y__)%"<

cout<<"//;%%%%`\-/%%%'"<

cout<<"((/`%%%%%%%'"<

cout<<"\\.'|"<

cout<<"\\/\||"<

cout<<"\\/)||"<

cout<<"\/_||__"<

cout<<"(___________)))))))"<

}

 

实验2

教学班级:

学生学号:

学生姓名:

实验日期:

2014年3月1日实验地点:

(机房)

指导教师签名:

__________实验成绩:

___________

一、实验目的

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

2.掌握对实型数据输出形式的设置和小数位数的控制方法;

3.了解数据输入的相关注意事项。

二、实验任务

1.键盘输入某台计算机的编号和该计算机的价格,并输出这些信息。

要求:

编号为11位数字构成,如10987654321;价格含有小数部分,如998.0元;输出的编号只是由数字组成,不应该出现小数点等非数字符号。

2.有一种加密方法是用原来字母的第n个字母代替原来的宁母。

例如把A用其后第4个字母E来替代。

现在有一密文内容为wigvix,编程求出它的原文是什么?

(提示:

可根据上述加密原理,使用若干字符型变量来实现)。

3.编程实现:

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

成绩单

学号20100002

****************************************

科目成绩

-----------------------------------------------------------------

英语85

高等数学90

线性代数88.5

****************************************

平均成绩87.8

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

1.

源程序

#include

usingnamespacestd;

voidmain()

{doublea,b;

cout<<"请输入某台计算机的编号和该计算机的价格:

"<

cin>>a>>b;

cout.precision(11);

cout<<"该计算机的编号和价格分别为:

"<

cout<

}

2.

源程序

#include

usingnamespacestd;

voidmain()

{charc1,c2,c3,c4,c5,c6;

cout<<"请输入密码内容:

"<

cin>>c1>>c2>>c3>>c4>>c5>>c6;

c1=c1-4;

c2=c2-4;

c3=c3-4;

c4=c4-4;

c5=c5-4;

c6=c6-4;

cout<<"原文是:

"<

cout<

}

3.

源程序

#include

#include

usingnamespacestd;

voidmain()

{floatscore1,score2,score3,average;

cout<<"请输入三门课程的成绩"<

cin>>score1>>score2>>score3;

average=(score1+score2+score3)/3;

cout<<"成绩单"<

cout<<"学号20100002"<

cout<<"****************************************"<

cout<<"科目"<

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

cout<<"英语"<

cout<<"高等数学"<

cout<<"线性代数"<

cout<<"****************************************"<

cout<

cout.precision

(1);

cout<<"平均成绩"<

}

实验3

教学班级:

学生学号:

学生姓名:

实验日期:

2014年3月2日实验地点:

(机房)

指导教师签名:

__________实验成绩:

___________

一、实验目的

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

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

二、实验任务

1.已知一函数

,输入x的值,求解并输出相应的y值。

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

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

1.

源程序

#include

usingnamespacestd;

voidmain()

{doublex,y;

cout<<"请输入x的值:

"<

cin>>x;

if(x<1)

y=x;

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

y=2*x-1;

if(x>=10)

y=3*x-11;

cout<<"输出相应的y值为:

"<

}

2.

源程序

#include

#include

usingnamespacestd;

voidmain()

{doublea,b,c,delta,x,x1,x2;

cout<<"求一元二次方程ax2+bx+c=0的根"<

cout<<"请输入a,b,c的值:

"<

cin>>a>>b>>c;

delta=b*b-4*a*c;

if(delta<0)

cout<<"一元二次方程无实根"<

else

if(delta==0)

{x=-b/(2*a);

cout<<"一元二次方程ax2+bx+c=0的根为a:

"<<"x1=x2="<

if(delta>0)

{x1=(-b-sqrt(delta))/(2*a);

x2=(-b+sqrt(delta))/(2*a);

cout<<"一元二次方程ax2+bx+c=0的根为:

"<<"x1="<

}

实验4

教学班级:

学生学号:

学生姓名:

实验日期:

2014年3月3日实验地点:

(机房)

指导教师签名:

__________实验成绩:

___________

一、实验目的

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

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

情况。

二、实验任务

1.某公司进行产品销售,既零售也批发,零售的价格与批发的价格不同,购买产品数量的多与少其价格也不同。

具体标准见下表:

批发商

零售商

数量(个)

单位价格(元/个)

数量(个)

单位价格(元/个)

50~200

10

1~20

18

200以上

8

20~40

15

40~50

12

要求编写一程序,输入客户购买产品的数量,输出客户类型(批发或零售客户)、产品单价及应付的总额。

2.给学生写评语,需将学生的考试成绩由百分制转换为5级制,标准为:

等级分数段

A95.-100分

B85.-94.分

C75.-84.分

D60.-74.分

E60.分以下

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

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

1.

源程序

#include

usingnamespacestd;

voidmain()

{intx,y;

cout<<"请输入客户购买产品的数量:

"<

cin>>x;

y=x/10;

switch(y)

{case0:

case1:

cout<<"客户类型为零售商,产品单价为18元/个,应付的总额为:

"<<18*x<

case2:

case3:

cout<<"客户类型为零售商,产品单价为15元/个,应付的总额为:

"<<15*x<

case4:

cout<<"客户类型为零售商,产品单价为12元/个,应付的总额为:

"<<12*x<

}

if(50<=x&&x<200)

cout<<"客户类型为批发商,产品单价为10元/个,应付的总额为:

"<<10*x<

if(x>=200)

cout<<"客户类型为批发商,产品单价为8元/个,应付的总额为:

"<<8*x<

}

2.

源程序

#include

usingnamespacestd;

voidmain()

{inta,b;

cout<<"请输入一学生的考试成绩:

"<

cin>>a;

b=a/5;

switch(b)

{case20:

case19:

cout<<"该学生的考试成绩等级为A:

"<

case18:

case17:

cout<<"该学生的考试成绩等级为B:

"<

case16:

case15:

cout<<"该学生的考试成绩等级为C:

"<

case14:

case13:

case12:

cout<<"该学生的考试成绩等级为D:

"<

default:

cout<<"该学生的考试成绩等级为E:

"<

}

}

3.

源程序

#include

usingnamespacestd;

voidmain()

{inty,m;

cout<<"请输入输入年号y和月份m:

"<

cin>>y>>m;

switch(m)

{case1:

case3:

case5:

case7:

case8:

case10:

case12:

cout<

"<

case4:

case6:

case9:

case11:

cout<

"<

}

if(m==2)

{if((y%4==0&&y%100!

=0)||(y%100==0&&y%400==0))

cout<

"<

else

cout<

"<

}

}

实验5

教学班级:

学生学号:

学生姓名:

实验日期:

2014年4月日实验地点:

(机房)

指导教师签名:

__________实验成绩:

___________

一、实验目的

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

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

二、实验任务

1.计算

=1-

+…直到最后一项小于10-6。

2.编程实现阿基里德算法求解两个整数的最大公约数和最小公倍数。

(提示:

设两个整数m、n(m>=n),用m除以n,求得余数q。

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

若q不为零,则更新除数和被除数(n→m,q→n)再做除法,直

至余数q为零止。

这时,相应的n即为所求的最大公约数。

而最小大公倍数=原始m与n值的乘积/最大公约数。

3.编程实现十进制整数和二进制整数之间的转换。

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

1.

源程序

#include

usingnamespacestd;

voidmain()

{inti=1;

doublen=1,j=1,k=0,pi=0;

do{k=k+j;

n=n+2;

i=-i;

j=i/n;

}while(j>=1.0e-6||j<=-1.0e-6);

pi=4*k;

cout<<"π/4="<

cout<<"π="<

}

2.

源程序

#include

usingnamespacestd;

voidmain()

{intm,n,q,i,j,k;

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

"<

cin>>m>>n;

i=m;

j=n;

q=i%j;

if(q==0)

cout<<"所求的最大公约数为:

"<

if(q!

=0)

do{i=j;

j=q;

q=i%j;

}while(q!

=0);

k=(m*n/j);

cout<<"所求的最大公约数为:

"<

cout<<"所求的最小公倍数为:

"<

}

3

源程序

#include

usingnamespacestd;

voidmain()

{inti=10,j=1,m,n=0;

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

"<

cin>>m;

do{n+=j*(m%i);

m/=i;

j*=2;

}while(m!

=0);

cout<<"转换为十进制整数是:

"<

}

实验6

教学班级:

学生学号:

学生姓名:

实验日期:

2014年4月2日实验地点:

(机房)

指导教师签名:

__________实验成绩:

___________

一、实验目的

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

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

1.

源程序

#include

#include

usingnamespacestd;

voidmain()

{intm,n,x,y,k=0;

cout<<"请输入两个不等的整数:

"<

cin>>n>>m;

cout<<"它们之间的所有素数为:

"<

for(x=n;x<=m;x++)

{for(y=2;y<=x-1;y++)

if(x%y==0)break;

if(x==y)

{cout<<""<

k=k+1;

if(k%5==0)

cout<<"\n";}

}

}

2.

源程序

#include

usingnamespacestd;

#include

voidmain()

{

charch;

inti=0,ch_num=0,odd_num=0,even_num=0;

cout<<"请输入一行字符:

"<

while

(1)

{

ch=getchar();

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

else

{

i=i+1;

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

ch_num+=1;

else

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

if(ch%2==0)even_num+=1;

elseodd_num+=1;

}

}

cout<<"输入的字符总个数为:

"<

cout<<"其中英文字符个数为:

"<

cout<<"奇数个数为:

"<

cout<<"偶数个数为:

"<

}

3.

源程序

#include

usingnamespacestd;

voidmain()

{chari,j,k;

for(i='X';i<='Z';i++)

for(j='X';j<='Z';j++)

if(i!

=j)

for(k='X';k<='Z';k++)

if(i!

=k&&j!

=k)

if(i!

='X'&&k!

='X'&&k!

='Z')

cout<<"3对选手的名单为:

"<<"A--"<

}

4.

源程序

#include

#include

usingnamespacestd;

voidmain()

{inti,j,a;

cout<<"请任意输入一个整数:

";

cin>>a;

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

{for(j=1;j<=2*a-1;j++)

if(j<=2*a-1-i)

if(i!

=a)

cout<<"";

else

cout<

else

cout<

cout<

for(i=1;i<=a-1;i++)

{for(j=1;j<=a-1;j++)

if(j<=a-i)

cout<

else

cout<<"";

cout<

}

实验7

教学班级:

学生学号:

学生姓名:

实验日期:

2014年4月2日实验地点:

(机房)

指导教师签名:

__________实验成绩:

___________

一、实验目的

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中所有低于平均值的那些元素。

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

1.

源程序

#include

usingnamespacestd;

voidmain(void)

{inti,j,t,n,m,a[100],b[100];

cout<<"请输入数组a中数字的个数:

";

cin>>n;

cout<<"请输入数组a的

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

当前位置:首页 > 求职职场 > 简历

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

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