}
2.分别输入10个学生的5门课程的成绩,并计算每个学生的平均分,以及每门课的平均分。
二维数组score的0列用于保存每个学生的信息,0行用于保存每门课的信息。
#include
constintM=10;//学生数
constintN=5;//科目数
intmain()
{
doublescore[M+1][N+1]=
(1);//所有元素初始化为0
inti,j;
for(i=1;i<=M;i++)
{
for(j=1;j<=N;j++)
{
cin>>score[i][j];//输入第i个学生的第j门科成绩
(2);//把第i个学生的第j门科的成绩累加到第i个学生的总成绩
(3);//把第i个学生的第j门科的成绩累加到第j门科的总成绩
}
}
for(i=1;i<=M;i++)
{
(4);//求第i个学生的平均分
cout<<"第"<
"<}
for(j=1;j<=N;j++)
{
(5);//求第j门科的平均分
cout<<"第"<"<}
return0;
}
3.下面的函数返回数组中最大元素的下标,数组中元素个数为n,将程序补充完整:
intFindMax(ints[],intn)
{
intk,i;
(1);
for(i=1;iif(s[i]>s[k])
(2);
returnk;
}
4.回文判断:
从键盘输入一个字符串(不超过100个字符),判断该字符串是否为回文。
例如:
abcdcba是回文。
#include
#include
constintMAXSIZE=101;
voidopposite(charstr1[],charstr2[]);
intmain()
{
charstr1[MAXSIZE]=””;//空串
charstr2[MAXSIZE]=””;
cin.getline(
(1),
(2));//读入一行,保存在str1中
opposite(str1,str2);
if((3))//判断原串与逆序串是否相等
cout<<"是回文";
else
cout<<"不是回文";
return0;
}
//把str1中的字符串逆序存放在str2中;
voidopposite(charstr1[],charstr2[])
{
inti,j;
for(i=strlen(str1)-1,j=0;(4);i--,j++)
{
(5);
}
return;
}
六、程序改错题
1.以下程序用于输出以下图形,但程序存在错误,请通过修改注释
(1)、
(2)的语句,改正程序,且不能添加、删除或修改其他语句。
*
***
*****
*******
#include
voidmain()
{
inti,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=i;j++)//
(1)
cout<<"";
for(j=1;j<=i;j++)//
(2)
cout<<”*”;
cout<}
}
2.以下程序用于进行整型的百分成绩和五等制成绩的转换,转换规则如下所示,但程序存在错误,请通过修改注释
(1)、
(2)的语句,改正程序,且不能添加、删除或修改其他语句。
0<=scour<60E
60<=scoure<70D
70<=scoure<80C
80<=scoure<90B
90<=scoure<=100A
#include
usingnamespacestd;
voidmain()
{
intscore;
chargrade;
cin>>score;
switch(score)//
(1)
{
case6:
grade='D';break;
case7:
grade='C';break;
case8:
grade='B';break;
case9:
case10:
grade='A';break;
case0~5:
grade='E';//
(2)
}
cout<<"五分制成绩为:
"<}
3.以下程序用于,查找出小于等于n(n>=2)的所有素数,但存在错误,请通过修改注释为
(1)和
(2)语句,改正程序,且不能添加、删除或修改其他语句。
#include
#include
usingnamespacestd;
voidmain()
{
intnum;
cin>>num;
for(inti=2;i<=num;i++)
{
for(intj=2;j<=sqrt(i);j++)
{
if(j%i==1)//
(1)
{
break;
}
}
if(j(2)
cout<
}
cout<}