三级数据库上机题库(5)

2019-08-30 12:53

half=strl/2;

for(j=0;j

{ temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp;} for(j=half-1,k=strl-1;j>=0;j--,k--)

{ temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp;} } }

*********************************************************************** ★题目45(数字统计排序题 )

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以前的五个数且该数是偶数(该四位数以前不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal() {int i,j,flag;

for(i=5;i

{for(j=i-5;j

if(a[i]>a[j]&&a[i]%2==0) flag=1; else { flag=0; break;} if(flag==1) b[cnt++]=a[i]; }

for(i=0;i

for(j=i+1;j

if(b[i]

*********************************************************************** ☆题目46(数字统计排序题 )

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以前的五个数且该数是奇数,且该数必须能被7整除(该四位数以前不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 void jsVal() { int i,j,flag;

for(i=5;i

{ for(j=i-5;j

if(a[i]>a[j]&&a[i]%2&&a[i]%7==0) flag=1; else { flag=0;break;}

if(flag==1) b[cnt++]=a[i];

}

for(i=0;i

if(b[i]

**************************************************************************** 题目47(结构体运算题 ) 已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数

void SortDat() {int i,j;

PRO xy;

for(i=0;i<99;i++) for(j=i+1;j<100;j++)

if(sell[i].je0) {xy=sell[i];sell[i]=sell[j];sell[j]=xy;}

}

************************************************************************** ☆题目48(整数各位数字运算题 )

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:6712,6+2=7+1,则该数满足条件存入数组b中,且个数cnt=cnt+1。 8129,8+9<>1+2,则该数不满足条件忽略

jsValue()

{int i,qw,bw,sw,gw,j;

for(i=0;i<300;i++)

{qw=a[i]/1000; bw=a[i]00/100; sw=a[i]0/10; gw=a[i]; if(qw+gw==bw+sw) b[cnt++]=a[i]; }

for(i=0;i

if(b[i]>b[j]) {qw=b[i]; b[i]=b[j]; b[j]=qw;} }

*****************************************************************************

题目49(整数各位数字运算题 )

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:9123,9-1-2-3>0,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。9812,9-8-1-2<0,则该数不满足条件计算平均值pjz2。 jsValue()

{int i,qw,bw,sw,gw,n=0; for(i=0;i<300;i++)

{qw=a[i]/1000; bw=a[i]00/100; sw=a[i]0/10; gw=a[i]; if(qw-bw-sw-gw>0) {cnt++;pjz1+=a[i];} else {n++;pjz2+=a[i];} }

if(cnt==0) pjz1=0; else pjz1/=cnt; if(n==0) pjz2=0; else pjz2/=n; }

******************************************************************************* 题目50(字符串左右排序交换题 )

函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。

条件:从字符串中间一分为二,左边部分按字符的ASCII值升序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

例如:位置 0 1 2 3 4 5 6 7 8 源字符串 d c b a h g f e 4 3 2 1 9 8 7 6 5 则处理后字符串 h g f e a b c d 8 7 6 5 9 1 2 3 4

void jsSort() { int i,j,k,strl,half; char temp; for(i=0;i<20;i++) { strl=strlen(xx[i]); half=strl/2;

for(j=0;j

if(xx[i][j]>xx[i][k])

{ temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp;} for(j=half-1,k=strl-1;j>=0;j--,k--)

{ temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp;} } }

************************************************************************* ★☆题目51(整数各位打散组合运算题) 没有提供求素数函数isprime() ,可自己编制

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数均是素数且新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 int isprime(int m) {int i;

for(i=2;i<=m/2;i++) if(m%i==0) return 0; return 1; }

void jsVal() {int i,j,qw,bw,sw,gw; int ab,cd;

for(i=0;i<200;i++)

{qw=a[i]/1000; bw=a[i]00/100; sw=a[i]0/10; gw=a[i];

ab=10*qw+sw; cd=10*gw+bw;

if(isprime(ab)&&isprime(cd)&&ab>=10&&cd>=10) b[cnt++]=a[i]; }

for(i=0;i

if(b[i]

************************************************************************* 题目52(整数各位打散组合运算题)

已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和个位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的个位数

字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),如果新组成的两个十位数均是奇数并且两个十位数中至少有一个数能被5整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 void jsVal() {int i,thou,hun,ten,data,j; int ab,cd;

for(i=0;i

{thou=a[i]/1000; hun=a[i]00/100; ten=a[i]0/10; data=a[i];

ab=10*thou+data; cd=10*hun+ten;

if(ab%2&&cd%2&&(ab%5==0||cd%5==0)&&ab>=10&&cd>=10) b[cnt++]=a[i]; }

for(i=0;i

for(j=i+1;j

if(b[i]

*************************************************************************** ☆题目53(整数各位数字运算题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。

例如:9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+1。 jsValue()

{ int i,j,qw,bw,sw,gw;

for(i=0;i<300;i++)

{ qw=a[i]/1000; bw=a[i]/100; sw=a[i]0/10; gw=a[i];

if((qw-bw-sw-gw)>0) b[cnt++]=a[i]; }

for(i=0;i

if(b[i]>b[j]) { qw=b[i];b[i]=b[j];b[j]=qw;} }

******************************************************************************* 题目54(整数各位数运算排序题)

已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数


三级数据库上机题库(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:50m3储油罐液面高度对应容量表

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: