C++实验报告Word下载.docx
《C++实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《C++实验报告Word下载.docx(30页珍藏版)》请在冰豆网上搜索。
inta[2+2*4];
2、已知10名选手的比赛编号分别为1-10,从键盘分别输入他们的比赛成绩。
设计一个循环,根据用户输入的比赛编号,输出对应选手的成绩。
当用户输入0时循环结束,同时整个程序结束。
3、假设一维数组x中存放了某班学生的成绩(至少10个成绩),编程输出成绩低于全班平均分同学的人数。
4、将一个给定的一维数组反过来存放,要求仍然存放在原数组中,且不借助其它数组。
5、在一个长度为20的一维数组中存放n个有效元素(n<
20,n及元素值均从键盘输入),再通过键盘输入一个新的元素值a和整数m,判断m的值是否超过数组元素下标的取值范围,若超出范围,则输出“位置不正确!
”,否则将元素a插入到数组下标为m的位置,原下标为m至n-1的元素依次后移,要求输出插入前和插入后的数组有效元素序列。
6、将一个15个元素的无序序列,按非减顺序排序后输出。
7、用二维数组定义一个n*n的矩阵,矩阵的元素为该元素所在行号*n后加上列号(行号、列号均从0开始),输出该二维数组各元素并总结规律。
8、编程求矩阵的加法
+
9、定义一个二维数组来存放6个评委的姓名和评分,输出成绩最高的评委姓名和评分,以及成绩最低的评委姓名和评分,在原数组中将这两个评委的信息删除,输出剩余评委的姓名和评分,及最后的平均评分。
10、编写一程序,从键盘输入两个长度均不超过20的字符串,将两个字符串连接起来形成一个新的字符串,并将该新字符串中的数字字符删除。
(不要使用strcat()函数。
)
11、编写一字符串比较程序,从键盘输入两个长度不超过10的字符串s1和s2,然后比较它们的大小(字符串比较是从左到右逐位比较),若s1>
s2,输出1;
若s1=s2,输出0;
若s1<
s2,输出-1。
(不使用strcmp()函数)。
最后将你的程序结果与直接调用strcmp()函数得到的结果相比较,看是否相同。
12、实型变量Y与整形变量a和x的关系如式所示。
编写函数程序,要求输入变量a和x,输出相应的Y。
在主函数中演示函数调用过程。
小数点后精确到第三位。
13、实型变量x与y的函数关系如式,编写函数实现,并在主函数中演示函数调用过程。
14、分别编写迭代函数和递归函数实现功能:
逆序输出正整数的各个位,并在主函数中同时调用迭代函数和递归函数,比较结果是否相同。
四、实验结果与数据处理
#include<
iostream.h>
intn,b;
cout<
<
"
pleaseinputn"
endl;
for(b=0;
b<
b++)
cin<
a[b];
a[3]<
(1)程序定义错误,无法执行。
#defineM10
intb;
M+2;
{cout<
10;
inta[10];
intb,c;
{c=b+1;
cout<
请输入第"
c<
名选手的成绩:
\n"
;
cin>
}
for(;
b!
=0;
{
cout<
请输入选手的编号:
cin>
b;
c=b-1;
if(b==0)
break;
a[c]<
}
doubled=0;
名学生的成绩:
d+=a[b];
d=d/10;
for(b=0,c=0;
=9;
if(a[b]<
d)
c++;
低于平均分的人数为"
intd[20];
inta,b,c;
for(a=0;
a<
20;
a++)
{b=a+1;
请输入数组的第"
<
个数:
d["
<
]=\n"
d[a];
{c=d[a];
d[a]=d[19-a];
d[19-a]=c;
]="
d[a]<
intd[20],e[20];
inta,b,n,m,h,k;
请输入n:
e[a]=d[a];
请输入a和m:
b>
m;
if(m>
n)
位置不正确!
else
{for(a=18;
a>
=m;
a--)
d[a+1]=d[a];
d[m]=b;
{cout<
e["
e[a]<
n+1;
inta[15],b,c,d,e;
15;
b+1<
个数:
=13;
{
e=1;
for(c=0;
=14-b;
c++)
if(a[c]>
a[c+1])
{
e=0;
d=a[c];
a[c]=a[c+1];
a[c+1]=d;
}
for(b=14;
b--)
a[b]<
constintn=10;
inta[n][n],i,j;
for(i=0;
i<
i++)
for(j=0;
j<
j++)
a[i][j]=n*i+j;
for(i=0;
a["
]["
a[i][j]<
'
\t'
intA[3][3]={5,7,8,2,-2,4,1,1,1},B[3][3]={4,-2,3,3,9,4,8,-1,2},C[3][3],i,j;
3;
for(j=0;
C[i][j]=A[i][j]+B[i][j];
C[i][j]<
"
#include<
stdio.h>
string.h>
chara[6][20];
floatf[6];
chare[20];
floatd;
6;
评委的名字:
gets(a[b]);
请输入分数"
f[b];
6-b;
if(f[c]>
f[c+1])
d=f[c+1];
f[c+1]=f[c];
f[c]=d;
strcpy(e,a[c+1]);
strcpy(a[c+1],a[c]);
strcpy(a[c],e);
去掉一个最高分:
a[5]<
f[5]<
去掉一个最低分:
a[0]<
f[0]<
for(c=1;
{
strcpy(a[c-1],a[c]);
f[c-1]=f[c];
}
for(c=4;
c>
c--)
strcpy(a[c],a[c-1]);
f[c]=f[c-1];
5;
d=0;
4;
d+=f[b];
d=d/4;
余下的评委及分数为:
f[b]<
平均分为:
d<
chara[40],b[20];
intc,d,e,f,g;
请输入数组a的字符串且保证长度不超过20"
gets(a);
请输入数组b的字符串且保证长度不超过20"
gets(b);
c=strlen(a);
d=strlen(b);
for(e=c;
e<
=d+c;
e++)
a[e]=b[e-c];
d=strlen(a);
for(f=0;
f<
d;
f++)
g=0;
for(e=0;
if(a[e]>
='
0'
&
a[e]<
9'
g=1;
for(c=e;
if(g==0)
break;
chars1[10],s2[10];
intc,d,e,f;
请输入数组s1的字符串且保证长度不超过10"
gets(s1);
请输入数组s2的字符串且保证长度不超过10"
gets(s2);
c=strlen(s1);
d=strlen(s2);
if(c<
c=d;
f=0;
for(e=0;
c;
if(s1[e]>
s2[e])
f=1;
1"
else
if(s1[e]<
f=1;
cout<
-1"
break;
}
if(f==0)
0"
strcmp(s1,s2)<
iomanip.h>
doubles(doubley,intx,inta);
doublemain()
intX,A;
doubleY;
cout<
pleaseinputXandA."
X="
cin>
X;
A="
A;
setiosflags(ios:
:
fixed);
计算后结果为:
setprecision(3)<
s(Y,X,A)<
}
doubles(doubley,intx,inta)
y=13*x/5.0+a*a*a;
returny;
floatmain()
floaths(floatx);
floatx;
Pleaseinputx:
x;
hs(x)<
return0;
floaths(floatx)
floaty;
if(x<
1)
y=x;
if(x<
10)
y=3*x+1;
y=5*x-7;
returny;
math.h>
voiddd(intn)
inta,b;
do
a=n;
n/=10;
b=a%10;
while(n!
=0);
intdg(intn)
intb,c,d,e,f;
b=n/10;
f=n;
e=0;
f/=10;
e++;
while(f!
f=e;
if(n==0)
c=0;
d=n-10*b;
e=pow(10,f-1);
c=e*d+dg(n/10);
returnc;
intmain()
intk;
k;
dd(k);
dg(k)<
五、分析与讨论
通过这次试验,我对数组的定义及运用有了一个更深刻地了解,同时也学会了如何运用数组处理一些编程问题。
六、教师评语
(1)正确。
只是程序中出现的“n”意义不是很明确。
(2)正确
(3)正确。
(4)正确。
(5)正确
(6)正确。
(7)正确
(8)正确。
(9)正确。
(10)正确。
(11)正确。
(12)正确
(13)正确。
(14)正确。
无抄袭行为;
按时完成实验;
实验结果基本正确;
实验报告撰写认真、
格式符合要求;
实验内容和过程记录完整,
结构较清晰;
建议该生多进行练习。
签名:
叶焕倬
日期:
2011年11月20日
成绩