2003年全国计算机等级考试四级上机题

4/14/2005来源:全国等级考试人气:14392

 2003年全国计算机等级考试四级上机题

1.去掉每组最后两个数,求剩下18个数的平均值,存入b[10]中,请5个升序,后5个降序排列
void js()
{ int i,j;
 double t,aver;
 for(i=0;i<10;i++)
 { aver=0.0;
 for(j=0;j<18;j++) aver+=aa[i][j];
 b[i]=aver/18; }

 for(i=0;i<5;i++)
 for(j=i+1;j<5;j++)
 if(b[i]>b[j])
 { t=b[i];
 b[i]=b[j];
 b[j]=t; }

 for(i=5;i<9;i++)
 for(j=i+1;j<10;j++)
 if(b[i] { t=b[i];
 b[i]=b[j];
 b[j]=t; }
}


2、先对每组数升序排列,去掉中间两数,求剩下18个数平均值,存如b[10]中。

void js()
{ int i,j,k,t;
 double aver;
 for(i=0;i<10;i++)
 { for(j=0;j<20;j++)
 for(k=j+1;k<20;k++)
 if(aa[i][j]>aa[i][k])
 { t=aa[i][j];
 aa[i][j]=aa[i][k];
 aa[i][k]=t; } }

 for(i=0;i<10;i++)
 { aver=0.0;
 for(j=0;j<20;j++) aver+=aa[i][j];
 aver=aver-aa[i][9]-aa[i][10];
 b[i]=aver/18; }
}

3.去掉每组的首尾两数,求剩下18个数平均值,存入b[10]中,并由大到小排列
void js()
{ int i,j;
 double t,aver;
 for(i=0;i<10;i++)
 { aver=0.0;
 for(j=1;j<19;j++) aver+=aa[i][j];
 b[i]=aver/18; }

 for(i=0;i<10;i++)
 for(j=i+1;j<10;j++)
 if(b[i] { t=b[i];
 b[i]=b[j];
 b[j]=t; }
}

4.每组升序排列,去掉中间4个数,求剩下数的平均值,存入b[10]中。
void js()
{ int i,j,k,t;
 double aver;
 for(i=0;i<10;i++)
 { for(j=0;j<20;j++)
 for(k=j+1;k<20;k++)
 if(aa[i][j]>aa[i][k])
 { t=aa[i][j];
 aa[i][j]=aa[i][k];
 aa[i][k]=t; } }

 for(i=0;i<10;i++)
 { aver=0.0;
 for(j=0;j<20;j++) aver+=aa[i][j];
 aver=aver-aa[i][8]-aa[i][9]-aa[i][10]-aa[i][11];
 b[i]=aver/16; }
}


5.每组数由小到大排列,在去掉中间两位数和最小的两位数,在计算平均值,存入b[10]中
void js()
{ int i,j,k,t;
 double aver;
 for(i=0;i<10;i++)
 { for(j=0;j<20;j++)
 for(k=j+1;k<20;k++)
 if(aa[i][j]>aa[i][k])
 { t=aa[i][j];
 aa[i][j]=aa[i][k];
 aa[i][k]=t; } }

 for(i=0;i<10;i++)
 { aver=0.0;
 for(j=0;j<20;j++) aver+=aa[i][j];
 aver=aver-aa[i][0]-aa[i][1]-aa[i][9]-aa[i][10];
 b[i]=aver/16; }
}

6.去掉每组数的最大值和最小值,求其于18个数平均值,存入b[10]中。

void js()
{ int i,j,k,t;
 double aver;
 for(i=0;i<10;i++)
 { for(j=0;j<20;j++)
 for(k=j+1;k<20;k++)
 if(aa[i][j]>aa[i][k])
 { t=aa[i][j];
 aa[i][j]=aa[i][k];
 aa[i][k]=t; } }

 for(i=0;i<10;i++)
 { aver=0.0;
 for(j=0;j<20;j++) aver+=aa[i][j];
 aver=aver-aa[i][0]-aa[i][19];
 b[i]=aver/18; }
}


7.在数组aa[10][20]中存有200个数(从in.dat文件里可以看到都是四位整数),用空格隔开, 首先把每组的20个数从小到大排序,再去掉每一行的中间的两个以及最大的两个数,再求出剩余的16个数的算术平均数依次存入bb[10]中。

void js()
{ int i,j,k,t;
 double aver;
 for(i=0;i<10;i++)
 { for(j=0;j<20;j++)
 for(k=j+1;k<20;k++)
 if(aa[i][j]>aa[i][k])
 { t=aa[i][j];
 aa[i][j]=aa[i][k];
 aa[i][k]=t; } }

 for(i=0;i<10;i++)
 { aver=0.0;
 for(j=0;j<20;j++) aver+=aa[i][j];
 aver=aver-aa[i][9]-aa[i][10]-aa[i][18]-aa[i][19];
 b[i]=aver/16; }
}

8.是aa[10][20] ,去掉中间2个后求平均值,结果存入bb[10]中 ,对bb[10]按从小到大顺序排序.

void js()
{ int i,j;
 double t,aver;
 for(i=0;i<10;i++)
 { aver=0.0;
 for(j=0;j<20;j++) aver+=aa[i][j];
 aver=aver-aa[i][9]-aa[i][10];
 b[i]=aver/18; }

 for(i=0;i<10;i++)
 for(j=i+1;j<10;j++)
 if(b[i]>b[j])
 { t=b[i];
 b[i]=b[j];
 b[j]=t; }
}
9.由200个四位数存在数组aa[10][20]中,在去掉每行的最大两个数 求剩下的18个数的算术平均值依次存在b[10]中。

void js()
{ int i,j,k,t;
 double aver;
 for(i=0;i<10;i++)
 { for(j=0;j<20;j++)
 for(k=j+1;k<20;k++)
 if(aa[i][j]>aa[i][k])
 { t=aa[i][j];
 aa[i][j]=aa[i][k];
 aa[i][k]=t; }

 for(i=0;i<10;i++)
 { aver=0.0;
 for(j=0;j<18;j++) aver+=aa[i][j];
 b[i]=aver/18; }
}
 }

10.每一组不计最小的两个数的平均值。然后存入b[]数组

void js()
{ int i,j,k,t;
 double aver;
 for(i=0;i<10;i++)
 { for(j=0;j<20;j++)
 for(k=j+1;k<20;k++)
 if(aa[i][j]>aa[i][k])
 { t=aa[i][j];
 aa[i][j]=aa[i][k];
 aa[i][k]=t; } }

 for(i=0;i<10;i++)
 { aver=0.0;
 for(j=2;j<20;j++) aver+=aa[i][j];
 b[i]=aver/18; }
}
