《三级数据库上机真题》.pdf
文本预览下载声明
Class 1
题目 14:已知数据文件IN.DAT 中存有200 个四位数, 并已调用读函数readDat()把这些数存
入数组 a 中,请考生编制一函数jsVal(), 其功能是: 依次从数组 a 中取出一个四位数,如果该
数连续大于该四位数以后的5 个数且该数是奇数,则统计出满足此条件的个数cnt,并把这些
四位数按从小到大的顺序存入数组b 中。并要计算满足上述条件的四位数的个数cnt 。最后
main() 函数调用写函数 writeDat( ) 把结果 cnt 以及数组 b 中符合条件的四位数输出到
OUT.DAT 文件中。
注意: 部分源程序存在文件PROG1.C 文件中。
程序中已定义数组: a[200], b[200], 已定义变量: cnt
请勿改动数据文件 IN.DAT 中的任何数据、主函数main() 、读函数readDat()和写函数
writeDat() 的内容。
void jsVal() /*标准答案*/
{int I,j,flag=0;
int k;
for(I=0;IMAX-5;I++)
{ for(j=I+1;j=I+5;j++)
{ if (a[I]a[j])
flag=1;
else {flag=0;break;}
if (a[I]%2==0)
flag=0;}
if (flag==1)
{b[cnt]=a[I]; cnt++;} }
for(I=0;Icnt- 1;I++)
for(j=I+1;jcnt;j++)
if (b[I]b[j])
{k=b[I];b[I]=b[j];b[j]=k;}
}
void jsVal() /*标准答案*/
{int I,j,flag=0;
int k;
for(I=0;IMAX-5;I++)
{ if (a[I]%2!=0)
for(j=I+1;j=I+5;j++)
{ if (a[I]a[j])
flag=1;
else {flag=0;break;}
}
if (flag==1)
{b[cnt]=a[I]; cnt++;}
}
for(I=0;Icnt- 1;I++)
for(j=I+1;jcnt;j++)
1
if (b[I]b[j])
{k=b[I];b[I]=b[j];b[j]=k;}
}
void jsVal() /*标准答案*/
{int I,j,flag=0;
int k;
for(I=0;IMAX-5;I++)
if(a[I]%2!=0a[I]a[I+1]a[I]a[I+2]a[I]a[I+3]a[I]a[I+4]a[I]a[I+5])
{b[cnt]=a[I]; cnt++;}
for(I=0;Icnt- 1;I++)
for(j=I+1;jcnt;j++)
if (b[I]b[j])
{k=b[I];b[I]=b[j];b[j]=k;}
}
题目30 :已知数据文件IN.DAT 中存有200 个四位数, 并已调用读函数readDat()把这些数存
入数组 a 中,请考生编制一函数jsVal(), 其功能是: 依次从数组 a 中取出一个四位数,如果该
数连续小于该四位数以后的5 个数且该数是偶数, 则统计出满足此条件的个数cnt, 并把这
些四位数按从小到大的顺序存入数组b 中。 并要计算
显示全部