频道栏目
首页 > 考试 > 等级考试 > 三级 > 网络技术 > 正文

2012年计算机三级网络技术考试上机练习题3

2012-08-21 17:02:22           
收藏   我要投稿
题目7(整数统计排序题) 
已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 
    void jsVal() 

 int i,j,gw,sw,bw,qw; 
 for(i=0;i<MAX;i++) 
  {gw=a[i]%10;      sw=a[i]/10%10; 
   bw=a[i]/100%10;  qw=a[i]/1000; 
   if((qw+gw)==(sw+bw)&&a[i]%2)  b[cnt++]=a[i]; 
  } 
 for(i=0;i<cnt-1;i++) 
   for(j=i+1;j<cnt;j++) 
     if(b[i]>b[j]) { qw=b[i]; b[i]=b[j]; b[j]=qw;} 


题目8(整数排序题) 
下列程序的功能是:将一正整数序列{K1,K2,...,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。要求编写函数jsValue()实现此功能,最后调用writeDat()函数将新序列输出到文件out.dat中。 
    说明:在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。 
    例:序列{6,8,9,1,2,5,4,7,3} 
        经重排后成为{3,4,5,2,1,6,8,9,7} 
   jsValue(int a[10][9]) 
{ int i,j,k,val,num; 
  for(i=0;i<10;i++) 
   { val=a[i][0]; 
     for(j=0;j<9;j++) 
      if(a[i][j]<val) 
       { num=a[i][j]; 
         for(k=j;k>0;k--) 
           a[i][k]=a[i][k-1]; 
         a[i][0]=num; 
       } 
   } 

  
题目9(整数各位数字运算排序题) 
已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 
   void jsVal() 
{int i,j; 
 int qw,bw,sw,gw; 
 for (i=0;i<MAX;i++) 
   {qw=a[i]/1000;    bw=a[i]%1000/100; 
    sw=a[i]%100/10;  gw=a[i]%10; 
    if((qw<=bw)&&(bw<=sw)&&(sw<=gw)&&(a[i]%2==0))  b[cnt++]=a[i]; 
   } 
 for(i=0;i<cnt-1;i++) 
  for(j=i+1;j<cnt;j++) 
    if (b[i]>b[j]) {qw=b[i];b[i]=b[j];b[j]=qw;} 
}
上一篇:2012年计算机三级网络技术考试上机练习题4
下一篇:2012年计算机三级网络技术考试上机练习题2
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站