西南交通大学C++上机实验问题详解Word文档格式.docx
- 文档编号:8308786
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:36
- 大小:48.87KB
西南交通大学C++上机实验问题详解Word文档格式.docx
《西南交通大学C++上机实验问题详解Word文档格式.docx》由会员分享,可在线阅读,更多相关《西南交通大学C++上机实验问题详解Word文档格式.docx(36页珍藏版)》请在冰点文库上搜索。
endl;
cin>
>
a;
b=a*9/5+32;
转换的华氏温度为:
b<
}
2.
%%%%%%"
%%/\%%%%/\%"
J/%%%"
%.%%%%/oo\%%%"
`%%.%%%%_|%%"
`%%`%%%%(__Y__)%"
"
((/`%%%%%%%'
|"
\\/\||"
\\/)||"
\/_||__"
(___________)))))))"
实验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.
voidmain()
{doublea,b;
请输入某台计算机的编号和该计算机的价格:
a>
b;
cout.precision(11);
该计算机的编号和价格分别为:
a<
}
2.
{charc1,c2,c3,c4,c5,c6;
请输入密码容:
c1>
c2>
c3>
c4>
c5>
c6;
c1=c1-4;
c2=c2-4;
c3=c3-4;
c4=c4-4;
c5=c5-4;
c6=c6-4;
原文是:
c1<
c2<
c3<
c4<
c5<
c6<
3.
iomanip>
{floatscore1,score2,score3,average;
请输入三门课程的成绩"
score1>
score2>
score3;
average=(score1+score2+score3)/3;
成绩单"
学号20100002"
****************************************"
科目"
setw(16)<
成绩"
----------------------------------------"
英语"
setw(15)<
score1<
高等数学"
setw(11)<
score2<
线性代数"
setw(12)<
score3<
fixed;
cout.precision
(1);
平均成绩"
average<
实验3
学生:
2014年3月2日实验地点:
1.掌握“处理某一或某些操作只有在特定条件成立的情况下才会被执行”的编程思路和方法;
2.掌握简单分支程序设计,以及if和if-else语句的使用方法。
1.已知一函数
,输入x的值,求解并输出相应的y值。
2.求一元二次方程ax2+bx+c=0的根,其中a、b、c为实数,由键盘输入。
{doublex,y;
请输入x的值:
x;
if(x<
1)
y=x;
if(x>
=1&
&
x<
10)
y=2*x-1;
if(x>
=10)
y=3*x-11;
输出相应的y值为:
y<
cmath>
{doublea,b,c,delta,x,x1,x2;
求一元二次方程ax2+bx+c=0的根"
请输入a,b,c的值:
b>
c;
delta=b*b-4*a*c;
if(delta<
0)
cout<
一元二次方程无实根"
else
if(delta==0)
{x=-b/(2*a);
一元二次方程ax2+bx+c=0的根为a:
x1=x2="
if(delta>
{x1=(-b-sqrt(delta))/(2*a);
x2=(-b+sqrt(delta))/(2*a);
一元二次方程ax2+bx+c=0的根为:
x1="
x1<
x2="
x2<
实验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.
{intx,y;
请输入客户购买产品的数量:
cin>
y=x/10;
switch(y)
{case0:
case1:
cout<
客户类型为零售商,产品单价为18元/个,应付的总额为:
18*x<
break;
case2:
case3:
客户类型为零售商,产品单价为15元/个,应付的总额为:
15*x<
case4:
客户类型为零售商,产品单价为12元/个,应付的总额为:
12*x<
}
if(50<
=x&
200)
客户类型为批发商,产品单价为10元/个,应付的总额为:
10*x<
=200)
客户类型为批发商,产品单价为8元/个,应付的总额为:
8*x<
2.
{inta,b;
请输入一学生的考试成绩:
b=a/5;
switch(b)
{case20:
case19:
该学生的考试成绩等级为A:
case18:
case17:
该学生的考试成绩等级为B:
case16:
case15:
该学生的考试成绩等级为C:
case14:
case13:
case12:
该学生的考试成绩等级为D:
default:
该学生的考试成绩等级为E:
{inty,m;
请输入输入年号y和月份m:
y>
m;
switch(m)
{case1:
case5:
case7:
case8:
case10:
年的"
m<
月有31天:
case6:
case9:
case11:
月有30天:
}
if(m==2)
{if((y%4==0&
y%100!
=0)||(y%100==0&
y%400==0))
月有29天:
else
月有28天:
实验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.编程实现十进制整数和二进制整数之间的转换。
#include<
{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;
π/4="
k<
π="
pi<
{intm,n,q,i,j,k;
请输入两个整数:
m>
n;
i=m;
j=n;
q=i%j;
if(q==0)
所求的最大公约数为:
j<
if(q!
=0)
do{i=j;
j=q;
q=i%j;
}while(q!
=0);
k=(m*n/j);
所求的最小公倍数为:
3
{inti=10,j=1,m,n=0;
请输入一个二进制整数:
do{n+=j*(m%i);
m/=i;
j*=2;
}while(m!
cout<
转换为十进制整数是:
n<
实验6
2014年4月2日实验地点:
1.掌握循环与选择结构的嵌套的使用方法;
2.掌握嵌套循环的使用方法;
1.设计一个程序,求出n-m之间(m>
n)的所有素数,要求:
每行输出5个。
2.键盘输入一行字符,统计字符总个数,以及其中的英文字母个数,如果是数字,则统计它们所构成的数据中,奇数个数和偶数个数分别是多少。
提示:
可使用以下程序段,连续输入若干字符直到输入'
\n'
时停止。
while
(1){ch=getchar();
if(ch=='
)break;
。
3.两个乒乓球队进行比赛,各出3人。
甲队为A、B、C共3人,乙队为X、Y、Z共3人,并以抽签方式决定比赛。
有人向队员打听比赛的,A说他不和X比,C说他不和X、Z比,请给出3对赛手的。
4.用循环结构语句编程并输出下图,其行数有键盘给出。
例如:
键盘输入:
5,则运行结果如下
1
22
333
4444
555555555
{intm,n,x,y,k=0;
请输入两个不等的整数:
n>
它们之间的所有素数为:
for(x=n;
=m;
x++)
{for(y=2;
=x-1;
y++)
if(x%y==0)break;
if(x==y)
{cout<
k=k+1;
if(k%5==0)
\n"
;
stdio.h>
{
charch;
inti=0,ch_num=0,odd_num=0,even_num=0;
请输入一行字符:
while
(1)
{
ch=getchar();
else
{
i=i+1;
if(ch>
='
a'
ch<
z'
||ch>
A'
Z'
)
ch_num+=1;
if(ch>
1'
9'
if(ch%2==0)even_num+=1;
elseodd_num+=1;
输入的字符总个数为:
i<
其中英文字符个数为:
ch_num<
奇数个数为:
odd_num<
偶数个数为:
even_num<
3.
源程序
{chari,j,k;
for(i='
X'
i++)
for(j='
j++)
if(i!
=j)
for(k='
k++)
if(i!
=k&
j!
=k)
k!
3对选手的为:
A--"
B--"
C--"
4.
{inti,j,a;
请任意输入一个整数:
for(i=1;
=a;
{for(j=1;
=2*a-1;
if(j<
=2*a-1-i)
if(i!
=a)
cout<
else
i;
=a-1;
=a-i)
a-i;
实验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中所有低于平均值的那些元素。
voidmain(void)
{inti,j,t,n,m,a[100],b[100];
请输入数组a中数字的个数:
请输入数组a的"
个数:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西南交通大学 C+ 上机 实验 问题 详解