北邮C++实验三作业Word文档下载推荐.docx
《北邮C++实验三作业Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《北邮C++实验三作业Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
a[i]<
数组元素的值"
endl;
system("
pause"
);
}
2.在下列程序中填上适当的语句,完成统计字符串长度的功能
charstr[50];
请输入一个字符串"
;
str;
while(str[i]!
='
\0'
)
i++;
字符串长度为"
程序结束!
3.分析下面程序的功能,并对有注释标记的语句进行功能注释
此程序是将二维数组0前面的所有正数求和。
inta[4][4]={{82,-15,6,8},{1,9,100,3},{4,19,-7,8},{3,-11,10,7}};
//定义一个整形的4×
4的二维数组
inti,j,sum=0;
4;
{for(j=0;
j<
j++)
{if(a[i][j]<
0)continue;
//如果二维数组中的第i行j列的数小于零,则跳出本次循环继续执行下一次循环
if(a[i][j]==0)break;
//如果二维数组中的第i行j列的数等于零,则跳出所有循环
sum+=a[i][j];
//将二维数组中0前面的所有正数求和
}
cout<
sum<
"
//输出二维数组中0前面的所有正数和
system("
4.分析下面程序的功能,并对有注释标记的语句进行功能注释
此程序的功能是输入一个含有五个单词的英文句子,再将这五个单词分别输出。
charstr[5][20];
//定义一个二维5×
20的字符数组
inti,j;
请输入一个包含五个单词的英文句子:
//输出"
str[0]>
str[1]>
str[2]>
str[3]>
str[4];
//将输入的五个单词初始化数组
5;
i++)
第"
个单词:
str[i]<
//分别输出所有的单词
5.修改下面程序中的语法错误,使之输出五名学生的成绩
要求:
对有注释标记的语句进行功能注释。
structStud//定义一个结构类型的数组std
{
longno;
//定义长整形学号no
charname[10];
intlengua;
intmath;
intenglish;
};
structStudy[5];
//定义数组中的结构类型的变量y
for(inti=0;
i++)//输入学生信息并赋值给数组cin>
y[i].no>
y[i].name>
y[i].lengua>
y[i].math>
y[i].english;
学号"
姓名"
语文"
数学"
英语"
for(inti=0;
i++)//对数组进行循环输出学生信息
y[i].no<
y[i].name<
y[i].lengua<
y[i].math<
y[i].english<
二、编程题
1.设计一个程序,从键盘输入10个数,找出其中最大值和最小值
voidmain()
intk,num[10],min,max;
请输入十个整数:
for(k=0;
k<
k++)
cin>
num[k];
max=min=num[0];
{if(max<
num[k])
max=num[k];
if(min>
min=num[k];
最大值为:
max<
最小值为:
min<
2.设计一个程序,将下列10个已知的常数按照从小到大的顺序进行排序,并打印排序的结果。
300,46,78,109,21,70,26,290,166,8,
inti,k,j,temp;
intnum[10]={300,46,78,109,21,70,26,290,166,8};
for(i=1;
{
for(k=0;
10-i;
{
if(num[k]>
num[k+1])
{temp=num[k+1];
num[k+1]=num[k];
num[k]=temp;
}
for(j=0;
cout<
num[j]<
"
3.设计一个程序,该程序可以输入五名学生的学号(117001~117005)、数学、语文、物理、英语、计算机应用等成绩,要求输出五名学生的成绩单,并输出总分最高学生学号和总分
intk,i,j,sum[5],max;
longnum;
intstudent[5][6];
请输入5名学生的学号及各科成绩:
number"
math"
Chinese"
physics"
English"
computer"
{for(j=0;
6;
{cin>
student[k][j];
sum[k]=student[k][j];
}}
max=sum[0];
{if(max<
sum[i])
{max=sum[i];
num=student[k][0];
elsenum=student[0][0];
5名学生的学号及各科成绩为:
student[k][j]<
总分最高的学生学号及总成绩为:
num<
4.设计一个程序,使之完成下列功能。
(1)完成矩阵转换,输出转换前和转换后的矩阵。
(2)矩阵转换后,计算主对角线数之和,并输出。
123413951
5678————》141062
9101112151173
13141516161284
intmatrix[4][4];
请输入一个4×
4矩阵:
matrix[i][j];
转换后的矩阵为:
{for(i=3;
i>
=0;
i--)
matrix[i][j]<
5.输入5名学生的信息(学号、姓名、五门功课成绩),然后按平均成绩从高分到低分进行排序并输出。
要求使用结构体完成,结构类型如下:
structstu{
longno;
//学号
charname[9];
//姓名
intscore[5];
//成绩
floatave;
//平均成绩
};
structstu{
charname[9];
}stu1[5],temp;
inti,j,k;
请按照“学号”“姓名”“成绩”的顺序输入5名学生的信息:
stu1[i].no>
stu1[i].name;
stu1[i].score[j];
stu1[i].ave+=(float)stu1[i].score[j];
stu1[i].ave=stu1[i].ave/5.0;
if(stu1[i].ave<
stu1[i+1].ave)
{temp=stu1[i];
stu1[i]=stu1[i+1];
stu1[i+1]=temp;
按照平均成绩由高到低排序:
{cout<
stu1[k].no<
stu1[k].name<
stu1[k].score[i]<
stu1[k].ave<