1、西南交通大学c+上机实验答案版教学文案实验1教学班级:学生学号: 学生姓名: 实验日期:2014年3月1日实验地点: (机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1熟悉C+程序的集成开发环境;2学习新建和打开控制台应用程序的方法;3掌握简单数据运算,以及输入与输出方法。二、实验任务1输入一摄氏温度,输出显示所转换的华氏温度。 (提示:摄氏温度=(华氏温度-32)5/9)2画出一头威武雄壮的雄狮。 ,% ,%/%/% ,%c J/% %. %/ o o % %. % _ |% % %(_Y_)% / ;%-/% ( / % . | / | | / ) | | /_ | |_ (_)三、
2、实验结果(源程序 + 注释) 1. 源程序#include using namespace std; void main() double a,b; cout请输入一摄氏温度:a; b=a*9/5+32; cout转换的华氏温度为:bendl; 2源程序#include using namespace std; void main() cout ,% endl; cout ,%/%/% endl; cout ,%c J/% endl; cout%. %/ o o % endl; cout%. % _ |% endl; cout % %(_Y_)% endl; cout / ;%-/% endl
3、; cout( / % endl; cout . | endl; cout / | | endl; cout / ) | | endl; cout /_ | |_ endl; cout (_) endl; 实验2教学班级: 学生学号: 学生姓名: 实验日期:2014年3月1日 实验地点: (机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1掌握对一般数据的输入和输出格式控制方法;2掌握对实型数据输出形式的设置和小数位数的控制方法;3了解数据输入的相关注意事项。二、实验任务1. 键盘输入某台计算机的编号和该计算机的价格,并输出这些信息。要求:编号为11位数字构成,如10987654321;价
4、格含有小数部分,如998.0元;输出的编号只是由数字组成,不应该出现小数点等非数字符号。2. 有一种加密方法是用原来字母的第n个字母代替原来的宁母。例如把A用其后第4个字母E来替代。现在有一密文内容为wigvix,编程求出它的原文是什么?(提示:可根据上述加密原理,使用若干字符型变量来实现)。3. 编程实现:在计算机的提示下输入某学生的学号、英语成绩、高等数学成绩、线性代数成绩,计算得出三门课程平均成绩,并按如下格式输出显示。成绩单学 号 20100002*科 目 成 绩-英 语 85高等数学 90线性代数 88.5*平均成绩 87.8三、实验结果(源程序 + 注释)1. 源程序#includ
5、eusing namespace std;void main() double a,b; cout请输入某台计算机的编号和该计算机的价格:ab; cout.precision(11); cout该计算机的编号和价格分别为:endl; couta bendl;2. 源程序#includeusing namespace std;void main() char c1,c2,c3,c4,c5,c6; cout请输入密码内容:c1c2c3c4c5c6; c1=c1-4; c2=c2-4; c3=c3-4; c4=c4-4; c5=c5-4; c6=c6-4; cout原文是:endl; coutc1c
6、2c3c4c5c6endl;3.源程序#include#includeusing namespace std;void main() float score1,score2,score3,average; cout请输入三门课程的成绩score1score2score3; average=(score1+score2+score3)/3; cout成绩单endl; cout学号 20100002endl; cout*endl; cout科目setw(16)成绩endl; cout-endl; cout英语setw(15)score1endl; cout高等数学setw(11)score2end
7、l; cout线性代数setw(12)score3endl; cout*endl; coutfixed; cout.precision(1); cout平均成绩setw(12)averageendl;实验3教学班级: 学生学号:学生姓名: 实验日期:2014年3月2日实验地点: (机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1. 掌握“处理某一或某些操作只有在特定条件成立的情况下才会被执行”的编程思路和方法;2. 掌握简单分支程序设计,以及if和if-else语句的使用方法。二、实验任务1 已知一函数,输入x的值,求解并输出相应的y值。2 求一元二次方程ax2+bx+c=0的根,其中a
8、、b、c为实数,由键盘输入。三、实验结果(源程序 + 注释)1. 源程序#includeusing namespace std;void main() double x,y; cout请输入x的值:x; if(x=1&x=10) y=3*x-11; cout输出相应的y值为:yendl;2. 源程序#include#includeusing namespace std;void main() double a,b,c,delta,x,x1,x2; cout求一元二次方程ax2+bx+c=0的根endl; cout请输入a,b,c的值:abc; delta=b*b-4*a*c; if(delta
9、0) cout一元二次方程无实根endl; else if(delta=0) x=-b/(2*a); cout一元二次方程ax2+bx+c=0的根为a:x1=x2=x0) x1=(-b-sqrt(delta)/(2*a); x2=(-b+sqrt(delta)/(2*a); cout一元二次方程ax2+bx+c=0的根为:x1=x1 x2=x2endl;实验4教学班级: 学生学号: 学生姓名: 实验日期:2014年3月3日实验地点: (机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1掌握多路分支结构的程序设计,以及switch语句的使用方法;2学习通过程序调试来跟踪程序运行过程,查看程序
10、运行过程中各个变量的取值变化 情况。二、实验任务1某公司进行产品销售,既零售也批发,零售的价格与批发的价格不同,购买产品数量的多与少其价格也不同。具体标准见下表:批 发 商零 售 商数量(个)单位价格(元/个)数量(个)单位价格(元/个)502001012018200以上8204015405012要求编写一程序,输入客户购买产品的数量,输出客户类型(批发或零售客户)、产品单价及应付的总额。2. 给学生写评语,需将学生的考试成绩由百分制转换为5级制,标准为: 等级 分数段 A 95. 100分 B 85.94.分 C 75.84.分 D 60.74.分 E 60.分以下3. 输入年号y和月份m,
11、 输出y年的m月有多少天。 三、实验结果(源程序 + 注释)1.源程序#includeusing namespace std;void main() int x,y; cout请输入客户购买产品的数量:x;y=x/10;switch(y) case 0: case 1: cout客户类型为零售商,产品单价为18元/个,应付的总额为:18*xendl;break; case 2: case 3: cout客户类型为零售商,产品单价为15元/个,应付的总额为:15*xendl;break; case 4: cout客户类型为零售商,产品单价为12元/个,应付的总额为:12*xendl;break;
12、 if(50=x&x200) cout客户类型为批发商,产品单价为10元/个,应付的总额为:10*x=200) cout客户类型为批发商,产品单价为8元/个,应付的总额为:8*xendl;2.源程序#includeusing namespace std;void main() int a,b; cout请输入一学生的考试成绩:a;b=a/5;switch(b) case 20: case 19: cout该学生的考试成绩等级为A:endl;break; case 18: case 17: cout该学生的考试成绩等级为B:endl;break; case 16: case 15: cout该学
13、生的考试成绩等级为C:endl;break; case 14: case 13: case 12: cout该学生的考试成绩等级为D:endl;break; default: cout该学生的考试成绩等级为E:endl; 3.源程序#includeusing namespace std;void main() int y,m; cout请输入输入年号y和月份m:ym; switch(m) case 1: case 3: case 5: case 7: case 8: case 10: case 12: couty年的m月有31天:endl;break; case 4: case 6: case
14、 9: case 11: couty年的m月有30天:endl;break; if(m=2) if(y%4=0&y%100!=0)|(y%100=0&y%400=0) couty年的m月有29天:endl; else couty年的m月有28天:=n),用m除以n,求得余数q。 若q为零,n即为所求的最大公约数; 若q不为零,则更新除数和被除数(nm,q n)再做除法,直至余数q为零止。这时,相应的n即为所求的最大公约数。 而最小大公倍数=原始m与n值的乘积/最大公约数。 )3. 编程实现十进制整数和二进制整数之间的转换。三、实验结果(源程序 + 注释)1.源程序#include using
15、namespace std;void main() int i=1; double n=1,j=1,k=0,pi=0; dok=k+j; n=n+2; i=-i; j=i/n; while(j=1.0e-6|j=-1.0e-6); pi=4*k; cout/4=kendl; cout=piendl;2.源程序#include using namespace std;void main() int m,n,q,i,j,k; cout请输入两个整数:mn; i=m; j=n; q=i%j; if(q=0) cout所求的最大公约数为:jendl; if(q!=0) do i=j; j=q; q=i
16、%j; while(q!=0); k=(m*n/j); cout所求的最大公约数为:jendl; cout所求的最小公倍数为:kendl;3 源程序#includeusing namespace std;void main() int i=10,j=1,m,n=0; cout请输入一个二进制整数:m; don+=j*(m%i); m/=i; j*=2; while(m!=0); cout 转换为十进制整数是:nn)的所有素数,要求:每行输出5个。2. 键盘输入一行字符,统计字符总个数,以及其中的英文字母个数,如果是数字,则统计它们所构成的数据中,奇数个数和偶数个数分别是多少。提示:可使用以下程
17、序段,连续输入若干字符直到输入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,则运行结果如下12233344445555555554444333221三、实验结果(源程序 + 注释)1. 源程序#include #include using namespace std;void main(
18、) int m,n,x,y,k=0; cout请输入两个不等的整数:nm; cout它们之间的所有素数为:endl; for(x=n;x=m;x+) for(y=2;y=x-1;y+) if(x%y=0)break; if(x=y) cout x; k=k+1; if(k%5=0) coutn; 2. 源程序#include using namespace std;#include void main() char ch; int i=0,ch_num=0,odd_num=0,even_num=0; cout请输入一行字符:=a&ch=A&ch=1&ch=9) if(ch%2=0) even_
19、num+=1; else odd_num+=1; cout输入的字符总个数为:iendl; cout其中英文字符个数为:ch_numendl; cout奇数个数为:odd_numendl; cout偶数个数为:even_numendl;3. 源程序 #includeusing namespace std;void main() char i,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) cout3对选手的名单为:A-i B-j C-kendl;4. 源
20、程序#include #include using namespace std;void main() int i,j,a; couta; 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 couti; else couti; coutendl; for(i=1;i=a-1;i+) for(j=1;j=a-1;j+) if(j=a-i) couta-i; else cout ; coutendl;实验7教学班级: 学生学号: 学生姓名: 实验日期:2014年4月2日 实验地点: (机房) 指导教师签名:
21、_ 实验成绩:_ 一、实验目的1掌握数值型一维数组的使用方法; 2掌握对一组同类型的数据进行插入、删除、排序和查找等的常用算法。二、实验任务1. 对两个无序的数组(其中数组a长度为n,数组b长度m),采用选择法(或起泡法)分别将这两个数组转为有序(元素值从小到大有序)。要求:a和b数组长度及其元素均由键盘获取。2. 将以上任务1构建的两个有序的数组a和b,进行有序合并,即将这两个数组进行合并的过程中其数据始终保持有序。(提示:数据结构:三个一维数组a,b,c将aia和bib比较,谁小就把谁放入cic(c数组用于存放合并后的数据),谁放入了cic中谁的下标就加1,同时ic(c中当前存放数据的下标)加1,如下图所示。 )3. 计算以上任务2中c数组元素的平均值,并删除c中所有低于平均值的那些元素。三、实验结果(源程序 + 注释)1.源程序#includeusing namespace std;void main(void) int i,j,t,n,m,a100,b100; coutn; cout请输入数组a的
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1