全国计算机等级考试三级网络技术上机题库(南开(7)
时间:2025-04-17
时间:2025-04-17
已知数据文件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;
}
}
}
*******************************************************************************
上一篇:2013考研英语词汇完整版
下一篇:大学开学校园广播稿