2012年9月年计算机三级网络技术上机题库
题目1
请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k 个素数存入数组xx传回。
最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。
部分源程序存在文件prog1.c中。
例如:若输入17 5 则应输出:19,23,29,31,37。
请勿改动主函数main()和写函数writeDat()的内容。
int isP(int m)
{
int i;
for(i=2;i if(m % i==0)return 0; return 1; } void num(int m,int k,int xx[]) { int s=0; for(m=m+1;k>0;m++) if(isP(m)) { xx[s++]=m; k--;} } 题目2 已知数据文件IN.DAT中存有300个4位数,并已调用函数readDat()把这些数存入数组a 中,请编制一个函数jsValue(),其功能是:求出这些4位数是素数的个数cnt,再求出所有满足此条件的4位数的平均值pjz1,以及所有不满足此条件的4位数的平均值pjz2,最后调用函数writeDat()把结果cnt、pjz1、pjz2输出到OUT19.DAT文件中。 例如:5591是素数,则该数满足条件,计算平均值pjz1,且个数cnt=cnt+1。 9812是非素数,则该数不满足条件,计算平均值pjz2。 注意:部分源程序已给出。程序中已定义数组:a[300],已定义变量:cnt、pjz1、pjz2。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 【参考答案】 void jsValue() { int i; for(i=0;i<300;i++) if(isP(a[i])) { pjz1+=a[i]; cnt++; } else pjz2+=a[i]; pjz1=pjz1/cnt; pjz2=pjz2/(300-cnt); } ************************************************************************ 题目3 下列程序的功能是:找出所有100以内(含100)满足I,I+4,I+10都是素数的整数I(I+10也在100以内)的个数cnt以及这些I之和sum。请编写函数countValue()实现程序要求的功能,最后调用函数writeDat()把结果cnt和sum输出到文件out.dat中。 int isPrime(int m) { int i; for(i=2; i if(m % i ==0) return 0 ; return 1; } void countValue() {int i; for(i=2;i<=90;i++) if(isPrime(i)&&isPrime(i+4)&&isPrime(i+10)) {cnt++;sum+=i;} } 运行结果为: 满足条件的整数的个数=7 满足条件的整数的和值=201 题目4 已知数据文件IN14.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中。请编制一个函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b中的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到OUT14.DAT文件。 例如:5591是素数,则该数满足条件存入数组b中,且个数cnt=cnt+1。 9812是非素数,则该数不满足条件,忽略。 注意:部分源程序已给出。程序中已定义数组:a[300]、b[300];已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 【参考答案】 void jsValue() { int j,i,value; for(i=0;i<300;i++) if(isP(a[i])) { b[cnt]=a[i]; cnt++; } for(i=0;i for(j=i+1;j if(b[i]>b[j]) { value=b[i]; b[i]=b[j]; b[j]=value; } } 题目5 程序prog1.c的功能是:选出100以上1000之内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。计算并输出上述这些素数的个数cnt以及这些素数值的和sum。请考生编写函数countValue( )实现程序要求,最后调用函数writeDA T()把结果cnt 和sum输出到文件bc10.out中。 int isPrime(int m) { int i; for(i=2;i if(m % i==0)return 0; return 1; } void countValue() { int i,j,bw,sw,gw; for(i=100;i<1000;i++) { bw=i/100; sw=i%100/10; gw=i%10; if(isPrime(i)&&(gw+sw)%10==bw) { cnt++; sum+=i;} } } 题目6 下列程序prog1.c的功能是:计算500-800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,再计算其间隔加、减之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数...的值sum。请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum,输出到文件OUT11.DA T中。 int isP(int m) { int i; for(i=2;i if(m % i==0)return 0; return 1; } void countValue() {int i,j,k=1; for(i=800;i>500;i--) if(isP(i)) { cnt++; sum=sum+k*i; k=k*(-1); } } } 题目7 已知数据文件IN.DA T中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsV al(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数 ab-cd>=0且ab-cd<=10且两个数均是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意:部分源程序存在文件prog1.c中。 程序中已定义数组:a[200],b[200],已定义变量:cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。------------------------- void jsVal() {int I,thou,hun,ten,data,j; int ab,cd; for(I=0;I<200;I++) {thou=a[I]/1000; hun=a[I]%1000/100; ten=a[I]%100/10; data=a[I]%10; ab=10*thou+ten; cd=10*data+hun; if ((ab-cd)>=0&&(ab-cd)<=10&&ab%2==1&&cd%2==1&&ab!=0&&cd!=0) {b[cnt]=a[I];cnt++;} } for(I=0;I for(j=I+1;j if(b[I] {data=b[I]; b[I]=b[j];b[j]=data;} } 题目8 25>千位+十位组合与个位+百位组合,素数,从大到小排序。 【参考答案】 int qw, bw, sw, gw, i, newV1, newV2, j; for(i = 0; i < MAX; i++) { qw = a[i] / 1000; gw = a[i] % 10; bw = (a[i] - qw * 1000) / 100; sw = (a[i] - qw * 1000 - bw * 100) / 10; newV1 = qw * 10 + sw; newV2 = gw * 10 + bw; if(qw && gw && isprime(newV1) && isprime(newV2)) b[cnt++] = a[i]; } for(i = 0; i < cnt - 1; i++) for(j = i + 1; j < cnt; j++) if(b[i] < b[j]) { newV1 = b[j]; b[j] = b[i]; b[i] = newV1; } 题目9 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab>cd,ab必须是偶数且能被5整除,cd必须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DA T文件中。 void jsVal() {int i,j,thou,hun,ten,data,ab,cd; for(i=0;i {thou=a[i]/1000; hun=a[i]%1000/100; ten=a[i]%100/10; data=a[i]%10; ab=10*thou+ten; cd=10*data+hun; if((ab-cd)>0&&(ab%2!=1&&ab%5==0)&&cd%2==1&&ab>=10&&cd>=10) {b[cnt]=a[i];cnt++;} } for(i=0;i for(j=i+1;j if(b[i] } ************************************************************************ 题目10 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:把个位数字和千位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),如果新组成的两个十位数均是偶数并且两个十位数中至少有一个数能被9整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的 个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 void jsVal() {int i,j,thou,hun,ten,data,ab,cd; for(i=0;i<200;i++) {thou=a[i]/1000; hun=a[i]/100%10; ten=a[i]%100/10; data=a[i]%10; ab=10*data+thou; cd=10*hun+ten; if((ab%9==0||cd%9==0)&&ab%2==0&&cd%2==0&&hun!=0&&data!=0) {b[cnt]=a[i];cnt++;} } for(i=0;i for(j=i+1;j if(b[i] } *********************************************************************** 题目11 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:把个位数字和千位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),如果新组成的两个十位数必须是一个奇数,另一个为偶数并且两个十位数中至少有一个数能被17整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的。降序排序。顺序存入数组b 中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到 OUT.DAT文件中。 例如:一个四位数4512.依题意组成的第一个新数为24.。。51.。51能被17整除void jsVal() {int i,j,thou,hun,ten,data,ab,cd; for(i=0;i {thou=a[i]/1000; hun=a[i]/100%10; ten=a[i]%100/10; data=a[i]%10; ab=10*data+thou; cd=10*hun+ten; if((ab%2!=cd%2)&&((ab%17==0||cd%17==0)&&ab>=10&&cd>=10)) b[cnt++]=a[i]; } for(i=0;i for(j=i+1;j if(b[i] } 题目12 已知数据文件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]%1000/100; ten=a[i]%100/10; data=a[i]%10; 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] } *************************************************************************** 题目13 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab-cd>=10且ab-cd<=20且两个数均是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。 void jsVal() { int i,j,qw,bw,sw,gw,ab,cd; for(i=0;i { qw=a[i]/1000; bw=a[i]/100%10; sw=a[i]%100/10; gw=a[i]%10; ab=qw*10+sw; cd=gw*10+bw; if(ab-cd>=10&&ab-cd<=20&&ab%2==0&&cd%2==0&&qw!=0&&gw!=0) b[cnt++]=a[i]; } for(i=0;i for(j=i+1;j if(b[i] } 题目14 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsV al(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab>cd,ab必须是偶数且能被5整除,cd必须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DA T文件中。 void jsVal() {int i,j,thou,hun,ten,data,ab,cd; for(i=0;i {thou=a[i]/1000; hun=a[i]%1000/100; ten=a[i]%100/10; data=a[i]%10; ab=10*thou+ten; cd=10*data+hun; if((ab-cd)>0&&(ab%2!=1&&ab%5==0)&&cd%2==1&&ab>=10&&cd>=10) {b[cnt]=a[i];cnt++;} } for(i=0;i for(j=i+1;j if(b[i] } ****************************************************************** 题目15 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 void jsVal() { int i,j,qw,bw,sw,gw; for(i=0;i { qw=a[i]/1000; bw=a[i]/100%10; sw=a[i]%100/10; gw=a[i]%10; if(qw&&qw%2==0&&bw%2==0&&sw%2==0&&gw%2==0) b[cnt++]=a[i]; } for(i=0;i for(j=i+1;j if(b[i] } ****************************************************************************** 题目16 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是奇数,则统计出满 足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 void jsVal() {int i,j,thou,hun,ten,data; for(i=0;i<200;i++) {thou=a[i]/1000; hun=a[i]%1000/100; ten=a[i]%100/10; data=a[i]%10; if(thou&&thou%2&&hun%2&&ten%2&&data%2) b[cnt++]=a[i]; } for(i=0;i for(j=i+1;j if(b[i] } *******************************************************************************题目17 下列程序prog1.c的功能是:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。 请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。 int jsValue(int bb[]) {int i,j,k=0; int hun,ten,data; for(i=10;i<32;i++) {j=I*I; hum=j/100; ten=j%100/10; data=j%10; if(hum==ten||hum==data||ten==data) bb[k++]=j;} return k; } ***************************************************************** 题目18 请编写函数countValue(int n),它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。 例如若n为1000时,函数值应为:s=153.909064。 int i; double sum = 0.0; for(i = 7; i < n; i++) if((i % 3) == 0 && (i % 7) == 0) sum += 1.0 * i; sum = sqrt(sum); return sum; ***************************************************************** 习题19 请编写函数void countValue(int *a,int *n),它的功能是:求出1到1000之内能被7或11整除但不能同时被7或11整除的所有整数放在数组a中,并通过n返回这些数的个数。 void countValue(int *a,int *n) { int i; *n=0; for(i=1;i<=1000;i++) if(i%7==0&&i%11||i%7&&i%11==0) a[(*n)++]=i; } ******************************************************************* 习题20 请编制程序prog1.c,从文件IN.DAT中读取200个整数至数组xx中,求出最大数max及最大数的个数cnt和数组xx中能被3整除或能被7整除的算术平均值pj(保留2位小数)。int i, cnt1 = 0; max = 0; cnt = 0; pj = 0.0; for(i = 0; i < N; i++) { if((xx[i] % 3) == 0 || (xx[i] % 7) == 0) { pj += xx[i]; cnt1++; } if(xx[i] > max) { max = xx[i]; cnt = 1; } else if(xx[i] == max) cnt++; } pj /= (float) cnt1; ***************************************************************************** 习题21 在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。 例:处理前6012 5099 9012 7025 8088 处理后9012 6012 7025 8088 5099 void jsSort() { int i,j,data; for(i=0;i<199;i++) for(j=i+1;j<200;j++) if(aa[i]%1000>aa[j]%1000||aa[i]%1000==aa[j]%1000&&aa[i] {data=aa[i];aa[i]=aa[j];aa[j]=data;} for(i=0;i<10;i++) bb[i]=aa[i]; } ****************************************************************************** 习题22 在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。 例:处理前9012 5099 6012 7025 8088 处理后5099 8088 7025 6012 9012 void jsSort() { int i,j,data; for(i=0;i<199;i++) for(j=i+1;j<200;j++) if(aa[i]%1000 {data=aa[i];aa[i]=aa[j];aa[j]=data;} for(i=0;i<10;i++) bb[i]=aa[i]; } *************************************************************************** 习题23 已知数据文件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 {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 for(j=i+1;j if (b[i]>b[j]) {qw=b[i];b[i]=b[j];b[j]=qw;} } *************************************************************************** 习题24 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsV al(),其功能是:若一个四位数的千位数字上的值大于等于百位数字上的值,百位数字上的值大于等于十位数字上的值,以及十位数字上的值大于等于个位数字上的值,并且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的数输出到OUT.DAT文件中。 void jsVal() {int i,j,thou,hun,ten,data; for(i=0;i {thou=a[i]/1000; hun=a[i]/100%10; ten=a[i]%100/10; data=a[i]%10; if(thou>=hun&&hun>=ten&&ten>=data&&a[i]%2) b[cnt++]=a[i]; } for(i=0;i for(j=i+1;j if(b[i]>b[j]) {thou=b[i];b[i]=b[j];b[j]=thou;} } *********************************************************************** 习题25 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值减去百位数字上的值再减去十位数字上的值最后减去个位数字上的值,如果得出的值大于等于零且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意:部分源程序存在文件prog1.c中。 程序中已定义数组:a[200],b[200],已定义变量:cnt 请勿改动数据文件IN.DA T中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 void jsVal() {int i,j,thou,hun,ten,data; for(i=0;i<200;i++) {thou=a[i]/1000; hun=a[i]%1000/100; ten=a[i]%100/10; data=a[i]%10; if(thou-hun-ten-data>=0&&a[i]%2) b[cnt++]=a[i]; } for(i=0;i for(j=i+1;j if(b[i]>b[j]) {thou=b[i]; b[i]=b[j];b[j]=thou;} } ********************************************************************** 习题26 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:把一个四位数的个位数字上的值减去千位数字上的值再减去百位数字上的值最后减去十位数字上的值,如果得出的值大于等于零且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 void jsVal() {int i,j,thou,hun,ten,data; for(i=0;i {thou=a[i]/1000; hun=a[i]/100%10; ten=a[i]%100/10; data=a[i]%10; if(data-thou-hun-ten>=0&&a[i]%2==0) b[cnt++]=a[i]; } for(i=0;i for(j=i+1;j if(b[i]>b[j]) {thou=b[i];b[i]=b[j];b[j]=thou;} } ********************************************************************** 习题27 已知数据文件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 {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 for(j=i+1;j if(b[i]>b[j]) { qw=b[i]; b[i]=b[j]; b[j]=qw;} } ************************************************************************* 习题28 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值加上十位数字上的值恰好等于百位数字上的值加上个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 void jsVal() {int i,j,thou,hun,ten,data; for(i=0;i {thou=a[i]/1000; hun=a[i]/100%10; ten=a[i]%100/10; data=a[i]%10; if((thou+ten==hun+data)&&a[i]%2==0) b[cnt++]=a[i]; } for(i=0;i for(j=i+1;j if(b[i]>b[j]) {thou=b[i];b[i]=b[j];b[j]=thou;} } **************************************************************************** 习题29 已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a 中,请编制一函数jsValue(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dat文件。 例如:1239,9-1-2-3>0,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。 8129,9-8-1-2<0,则该数不满足条件计算平均值pjz2。 jsValue() {int i,j,thou,hun,ten,data,n=0; for(i=0;i<300;i++) {thou=a[i]/1000; hun=a[i]/100%10; ten=a[i]%100/10; data=a[i]%10; if(data-thou-hun-ten>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; } ************************************************************************** 习题30 已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a 中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。 例如:9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+1。 9812,9-8-1-2>0,则该数不满足条件忽略。 jsValue() { int i,j,qw,bw,sw,gw; for(i=0;i<300;i++) { qw=a[i]/1000; bw=a[i]/100%10; sw=a[i]%100/10; gw=a[i]%10; if(qw-bw-sw-gw>0) b[cnt++]=a[i]; } for(i=0;i for(j=i+1;j if( b[i]>b[j]) { qw=b[i]; b[i]=b[j]; b[j]=qw;} } ******************************************************************* 习题31 已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a 中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dat文件。 例如:7153,7+1=5+3,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。8129,8+1<>2+9,则该数不满足条件计算平均值pjz2。 jsValue() {int i,thou,hun,ten,data,n=0; for(i=0;i<300;i++) {thou=a[i]/1000; hun=a[i]%1000/100; ten=a[i]%100/10; data=a[i]%10; if(thou+hun==ten+data) {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; } ************************************************************************ 习题32 已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a 中,请编制一函数jsValue(),其功能是:求出千位数上的数加个位数等于百位数上的数加十位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数把结果输出到out.dat文件。 例如:6712,6+2=7+1,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。8129,8+9<>1+2,则该数不满足条件计算平均值pjz2。 jsValue() { int i,gw,sw,bw,qw,cnt2=0; for(i=0;i<300;i++) {gw=a[i]%10; sw=a[i]/10%10; bw=a[i]/100%10; qw=a[i]/1000; if((qw+gw)==(sw+bw)) { cnt++;pjz1+=a[i]; } else { cnt2++;pjz2+=a[i]; } if(cnt==0) pjz1=0; else pjz1/=cnt; if(cnt2==0) pjz2=0; else pjz2/=cnt2; } **************************************************** 习题33 审题关键句】千位+百位等于十位+个位,且千位+百位等于个位-千位的10倍。计算并输出这些四位自然数的个数cnt以及这些数的和。 int i, qw, bw, sw, gw; for(i = 1000; i <= 5000; i++) { qw = i / 1000; bw = (i - qw * 1000) / 100; sw = (i - qw * 1000 - bw * 100) / 10; gw = i % 10; if((qw + bw) == (sw + gw) && (qw + bw) == (gw - qw) * 10 ) { cnt++; sum += i; } } **************************************************** 习题34 已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a 中,请编制一函数jsValue(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dat文件。 例如:1239,9-1-2-3>0,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。 8129,9-8-1-2<0,则该数不满足条件计算平均值pjz2。 jsValue() {int i,j,thou,hun,ten,data,n=0; for(i=0;i<300;i++) {thou=a[i]/1000; hun=a[i]/100%10; ten=a[i]%100/10; data=a[i]%10; if(data-thou-hun-ten>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; ************************************************************************** 习题35 已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a 中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。 例如:9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+1。 9812,9-8-1-2>0,则该数不满足条件忽略。 jsValue() { int i,j,qw,bw,sw,gw; for(i=0;i<300;i++) { qw=a[i]/1000; bw=a[i]/100%10; sw=a[i]%100/10; gw=a[i]%10; if(qw-bw-sw-gw>0) b[cnt++]=a[i]; } for(i=0;i for(j=i+1;j if( b[i]>b[j]) { qw=b[i]; b[i]=b[j]; b[j]=qw;} } ******************************************************************* 习题36 已知数据文件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]%1000/100; sw=a[i]%100/10; gw=a[i]%10; if(qw+gw==bw+sw) b[cnt++]=a[i]; } for(i=0;i for(j=i+1;j if(b[i]>b[j]) {qw=b[i]; b[i]=b[j]; b[j]=qw;} } ***************************************************************************** 习题37 已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a 中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到out.dat文件。 例如:7153,7+1=5+3,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。8129,8+1<>2+9,则该数不满足条件计算平均值pjz2。 jsValue() {int i,thou,hun,ten,data,n=0; for(i=0;i<300;i++) {thou=a[i]/1000; hun=a[i]%1000/100; ten=a[i]%100/10; data=a[i]%10; if(thou+hun==ten+data) {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; } ************************************************************************ 习题38 函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx 的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS10.DAT中。 替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。 void encryptChar() { int i,j; for(i=0;i for(j=0;j if(xx[i][j]*11%256<=32||xx[i][j]%2==0) continue; else xx[i][j]=xx[i][j]*11%256; } ****************************************************************************** 习题39 【审题关键句】字符替代f(p)=p*17mod 256,小于等于32或ASCII码是奇数不变,否则替换。 【参考答案】 int i, j; for(i = 0; i < maxline; i++) for(j = 0; j < (int) strlen(xx[i]); j++) { val = (xx[i][j] * 17) % 256; if(!(val <= 32 || (val % 2))) //如果新的ASCII值大于32且是偶数时 xx[i][j] = val; } ************************************************************************* 习题40 函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件pS6.DAT中。 替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是数字0至9,则该字符不变,否则将f(p)所对应的字符进行替代。 void encryptChar() { int i,j; for(i=0;i for(j=0;j if(xx[i][j]*11%256<=32||xx[i][j]*11%256>='0'&&xx[i][j]*11%256<='9') continue; else xx[i][j]=xx[i][j]*11%256; } ************************************************************************* 习题41 函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件pS6.DAT中。 替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是数字0至9,则该字符不变,否则将f(p)所对应的字符进行替代。 void encryptChar() { int i,j; for(i=0;i for(j=0;j if(xx[i][j]*11%256<=32||xx[i][j]*11%256>='0'&&xx[i][j]*11%256<='9') continue; else xx[i][j]=xx[i][j]*11%256; } ************************************************************************* 习题42 函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS5.DA T中。 替代关系:f(p)=p*11mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字母,则该字符不变,否则将f(p)所对应的字符进行替代。 void encryptChar() { int i,j; for(i=0;i for(j=0;j if(xx[i][j]*11%256<=32||xx[i][j]*11%256>='a'&&xx[i][j]*11%256<='z') continue; else xx[i][j]=xx[i][j]*11%256; } *********************************************************************** 习题43 函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx 的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS2.DAT中。 替代关系:f(p)=p*13 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或其ASCII值是偶数,则该字符不变,否则将f(p)所对应的字符进行替代。 void encryptChar() { int i,j; for(i=0;i for(j=0;j if(xx[i][j]*13%256<=32||(xx[i][j]*13%256)%2==0) continue; else xx[i][j]=xx[i][j]*13%256; } ***************************************************************************** 习题44 函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx 的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS10.DAT中。 替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。 void encryptChar() { int i,j; for(i=0;i for(j=0;j if(xx[i][j]*11%256<=32||xx[i][j]%2==0) continue; else xx[i][j]=xx[i][j]*11%256; } ****************************************************************************** 习题45 函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS5.DA T中。 替代关系:f(p)=p*11mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是小写字母或计算后f(p)值小于等于32或,则该字符不变,否则将f(p)所对应的字符进行替代。 int i, j; 2009年4月上机100套题51-60 第五十一套 给定程序的功能是:将n个人员的考试成绩进行分段统计,考试成绩放在数组a中,各分段的人数存到数组b中:成绩为60到69的人数存到b[0]中,成绩为70到79的人数存到b[l],成绩为80到89的人数存到b[2],成绩为90到99的人数存到b[3],成绩为100的人数存到b[4],成绩为60分以下的人数存到b[5]中。 例如,当数组a中的数据是:93、85、77、68、59、43、94、75、98。调用该函数后,数组b 中存放的数据应是:l、2、l、3、0、2。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。 试题程序: #include ---------数量关系部分题目溯源: 1、33, 32, 34, 31, 35, 30, 36, 29,? A. 33 B. 37 C. 39 D. 41 选B 解答:交叉数列(即隔项或称奇偶数列)。分项后为等差数列。 源自:国考2002年A类第5题 34、36、35、35、()、34、37、() 都是交叉等差数列,并且公差为1和-1。 2、3, 9, 6, 9, 27,?, 27 A. 15 B. 18 C. 20 D. 30 选B 解答:二级作商周期数列。两两作商得到:3、2/3、3/2、3、2/3、3/2。 源自:国考2003年A类第1题 1、4、8、13、16、20、() 原题是二级作差周期数列,新题是二级作商周期数列。 3、2, 12, 6, 30, 25, 100,? A. 96 B. 86 C. 75 D. 50 选A 解答:变形奇偶数列。偶数项分别为前项乘以6、5、4得到,奇数项分别为前项减去6、5、4得到。 源自:北京应届2007年第4题 2,7,14,21,294,( ) 原题为:奇数项为前两项之乘积,偶数项为前两项之和。 4、4, 23, 68, 101,? A. 128 B. 119 C. 74.75 D. 70.25 选C 解答:变倍数递推数列。后一项分别为前一项剩以6、3、1.5、0.75再减去1得到。 4×6-1=23 23×3-1=68 68×1.5-1=101 101×0.75-1=74.75 源自:北京应届2007年第1题 2,13,40,61,( ) 只是把原题规律当中的加1变成了减1,连扩大的比例都没有改变。 5、323, 107, 35, 11, 3,? A. -5 B. 1/3 C. 1 D. 2 选B 解答:倍数递推数列。前一项减去2后乘以1/3得到后一项。 (323-2)×1/3=107 (107-2)×1/3=35 (35-2)×1/3=11 (11-2)×1/3=3 (3-2)×1/3=1/3 此题亦可倒过来看,即是后一项乘以3再加2得到前一项。 源自:浙江2004年第3题 0,1,4,13,40,( ) 把大小变化方向反过来,就只是把原题规律当中的加1变成了新题当中的加2。 11、甲、乙、丙、丁四人今年分别是16、12、11、9岁。问多少年前,甲、乙的年龄和是丙、丁年龄和的2倍? A、4 B、6 C、8 D、12 源自:国家2004年B类第50题 祖父年龄70岁,长孙20岁,次孙13岁,幼孙7岁,问多少年后,三个孙子的年龄之和与祖父的年龄相等? 15、某车间进行季度考核,整个车间平均分是85分,其中2/3的人得80分以上(含80分),他们的平均分是90分,则低于80分的人的平均分是多少? A、68 B、70 C、75 D、78 Word 基本操作练习题 1.字处理题 请在"考试项目"菜单上选择"字处理软件使用"菜单项,完成以下内容: ******本题型共有1小题****** 在考生文件夹中,存有文档WT1.DOC,其内容如下: 【文档开始】 本专业培养目标是计算机专业的技术应用型人才,他们应该掌握计算机软件、硬件及系统的基本理论、基本方法和基本技能,能够从事计算机及相关领域应用技术工作、软、硬件维护、和一般应用系统的开发及设计,他们应该具有专业化计算机人的素质,是全面发展的社会主义建设人才。 【文档结束】 按要求完成下列操作: (1)请将Word文档WT1.DOC设成楷体、小三号字并加粗、斜体。 (2)设置A4(210mm×297mm)纸张大小,左右边距设置为2.5厘米,页眉2.2厘米,其余页面设置的参数不必修改。保存文件为WD1.DOC。 2.请在"考试项目"菜单上选择"字处理软件使用"菜单项,完成以下内容: ******本题型共有4小题****** 1. 在考生文件夹中,存有文档WT 2.DOC,其内容如下: 【文档开始】 面向对象方法基于构造问题领域的对象模型,以对象为中心构造软件系统。它的基本方法是用对象模拟问题领域中的实体,以对象间的联系刻画实体间的联系。因为面向对象的软件系统的结构是根据问题领域的模型建立起来的,而不是基于对系统应完成的功能的分解,所以,当对系统的功能需求变化时并不会引起软件结构的整体变化,往往仅需要一些局部性的修改。例如,从已有类派生出一些新的子类以实现功能扩充或修改,增加删除某些对象等等。总之,由于现实世界中的实体是相对稳定的,因此,以对象为中心构造的软件系统也是比较稳定的。 【文档结束】 按要求完成下列操作:新建文档WD2.DOC,插入文件WT2.DOC的内容,设置为小四号仿宋_GB2312字体,分散对齐,所有"对象"设置为黑体、加粗,存储为文件WD2.DOC。 2. 新建文档WD2A.DOC,插入文件WD2.DOC的内容,将正文部分复制2次,将前两段合并为一段,并将此段分为3栏,栏宽相等,栏宽为 3.45厘米,栏间加分隔线。存储为文件 WD2A.DOC。 3. 制作3行4列表格,列宽2厘米,行高1厘米。填入数据,水平方向上文字为居中对齐,数 4. 并将第4行设置为黄色底纹,统计1、2、3列的合计添加到第4行,存储为文件WD2C.DOC。 请在"考试项目"菜单上选择"字处理软件使用"菜单项,完成以下内容: ******本题型共有2小题****** 3. 在指定文件夹下打开文档WT3.DOC,其内容如下: 【文档开始】 实验一总帐 一、系统管理 1、注册系统管理。以系统管理员(admin)的身份注册系统管理。 2、设置操作员。 编号姓名口令所属部门 001王亮1财务部 002唐非2财务部3、建立帐套。 账套号: 888 账套名称:广州市 账套路径:默认 启用会计期:2013年1月 单位名称:广州市白云工商高级技工学校 单位简称:白云学院 记账币种:人民币 企业类型:工业 行业性质:新会计制度科目 账套主管: demo 分类信息:对客户、供应商、存货分类,有外币核算 编码方案:科目编码级次为4-2-2-2-2,其他编码级次采用默认值 数据精度:保留的小数位均为2 系统启用:启用总账子系统;启用日期:2013-01-01 4、设置操作员权限 王亮:拥用“公用目录设置”、“总账”、“财务报表”、“现金管理”的全部权限 唐非:拥有“公共目录设置”及“总帐”中的所有权限 由001进行初始化设置 二、系统初始化 1、部门档案 部门编码部门名称 1管理部 2财务部 3采购部 4销售部 2、职员档案 职员编号职员名称所属部门101李同管理部 201赵超财务部 202王刚财务部 301张海采购部 401刘英销售部 3、客户档案 客户编码客户名称客户简称地址邮政编码 001北京育新 小学 育新小学 002天津宏达 公司 宏达公司 4、供应商档案 供应商编 码供应商名称 供应商简 称 地址 邮政编 码 001北京迅达有限责 任公司 北京迅达 002深圳华光软件公 司 深圳华光 5、外币及汇率币符:USD 币名:美元, 记账汇率:6.5 6、结算方式 结算方式编码结算方式名称票据管理1现金否 2支票否 3其他否 7、凭证类别 凭证类别限制类型限制科目 收款凭证借方必有1001,1002 付款凭证贷方必有1001,1002 转账凭证凭证必无1001,1002 8、会计科目 科目名称辅助核 算 科目 类型 方向 币别 计量 期初余额 现金(1001)日记资产借5000银行存款(1002)银行日 记 资产借125000 工行存款(100201)银行日 记 资产借80000 中行存款(100202)银行日 记 资产借美元45000 应收账款(1131)客户往 来 资产借*30000其他应收款(1133)个人往 来 资产借*2000库存商品(1243)资产借155000 一、基本操作题 在考生文件夹下,存在一个数据库文件samp1.mdb、一个Excel 文件tScore.xls和一个图像文件photo.bmp。在数据库文件中已经建立了一个表对象tStud。试按以下要求完成各种操作。 1.设置ID字段为主键;并设置ID字段的相应属性,使该字段在 数据图视图中的显示标题为“学号” 2.将“性别”字段的默认值属性设置为“男”,“入校时间”字段 的格式属性设置为“长日期”。 3.设置“入校时间”字段的有效性规则和有效性文本。有效性规 则为:输入的入校时间必须为9月;有效性文本内容为:输入的月份有误,请重新输入。 4.将学号为20041002学生的“照片”字段值设置为考生文件夹 下的photo.bmp图像文件(要求使用“由文件创建”方式) 5.为“政治面貌”字段创建查阅列表,列表中显示“团员”、“党 员”、和“其他”3个值。(提示:将该字段的数据类型设置为“查阅向导”)。 6.将考生文件夹下的tScore.xls文件导入到samp1.mdb数据库文 件中,表名不变,主键为表中的ID字段。 第一套 一、基本操作题 考生文件夹下存在一个数据库文件“samp1.mdb”,里面已经设计好表对象“tStud”。请按照以下要求,完成对表的修改: (1)设置数据表显示的字体大小为14、行高为18; (2)设置“简历”字段的设计说明为“自上大学起的简历信息”; (3)将“入校时间”字段的显示设置为“××月××日××××”形式; 注意:要求月日为两位显示、年四位显示,如“12月15日2005”。 (4)将学号为“20011002”学生的“照片”字段数据设置成考生文件夹下的“photo.bmp”图像文件; (5)将冻结的"姓名"字段解冻; (6)完成上述操作后,将“备注”字段删除; 第三套 一、基本操作题 考生文件夹下,“samp1.mdb”数据库文件中已建立表对象“tEmp”。试按以下操作要求,完成对表“tEmp”的编辑修改和操作:(1)将“编号”字段改名为“工号”,并设置为主键; (2)设置“年龄”字段的有效性规则为:年龄大于等于17; (3)设置“聘用时间”字段的默认值为:2005-8-2; (4)删除表结构中的“简历”字段; (5)将考生文件夹下“samp0.mdb”数据库文件中的表对象 数据库上机练习3 一、 建立数据库TGDB ; 二、 为描述作者向期刊的投稿情况,建立了三张表:作者表、期刊表和投稿表。期刊表 用于描述期刊的基木信息,作者表用于描述作者的基木信息,投稿表用于描述作者向期刊的 投稿情况。在查询分析器中写出创建这三张表的语句。三张表的结构如下: 作者表(ZZB ) 作者号(zzh ) 普通字符编码定长字符型,长度为4,主码; 作者名(zzm ) 普通字符编码可变长字符型,最多5个汉字,取值不重复。 2. 期刊表(QKB ) 期刊号(qkh ) 普通字符编码定长字符型,长度为4,主码; 期刊名(qkm ) 普通字符编码可变长字符型,最大长度为20,非空; 类别(lb ) (说明:“是”表示此期 刊为核心期刊,“否”表示此期刊为非核心期刊)。 版面费(bmf ) 整型。 普通字符编码定长字符型,长度为4,非空; 普通字符编码定长字 符型,长度为4,非空; 小日期时间型,非空,默认值为系统当前时间; 普通字符编码定长字符型,长度为50; 普通字符编码定长字符型,长度为6,取值范围为{通过,未通过}, 其屮,主码为(作者号,期刊号,投稿日期), “作者号”为引用作者表的“作者号”的外 码; “期刊号”为引用期刊表的''期刊号”的 外码。 三、运行C:\exam.exe 程序解压缩数据文件(可解压到任何地方),解压缩的密码为 “dbok”。稠 SQL Server 的DTS 工具,将“期刊表.txt”文件中的数据导入到“期刊表” 中,将解压后的“作者与投稿表.xls”文件中的数据分别导入到“作者表”和“投稿表” 中。 四、利用第二题的三张表,在杳询分析器屮写出实现如下要求的SQL 语句(注:要求 下述语句均使用一条SQL 语句完成) 1. 杳询2006年以后(包括2006年)的投稿情况,列出作者名、期刊名、文章名称和投 稿口期。 2. 杳询姓哪个姓的作考最多,列出这个姓氏和姓这个姓氏的作者人数,包含并列的情况。 3. 查询作者“杨伍华”没有投过稿的核心期刊的名称。 4. 杏询投稿次数超过2次(包括2次)且版面费总金额大于100()的期刊的投稿情况,显 示作者号,期刊号,审稿通过总次数,版面费总金额(说明:只有审稿结果为“通普通字符编码定长字符型,长度为2,取值为“是”或“否” 3.投稿表(TGB ) 作者号(zzh ) 期 刊号(qkh ) 投稿日期(tgrq ) 文章名称 (wzmc ) 审稿结果 (sgjg ) 默认值为“未 通过”。 2012年9月全国计算机考试上机题库100套 第01套: 给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。 例如,输入一个数:27638496,新的数:为739。请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include 2020年全国计算机等级考试二级c语言上机精选题库(共80套) 第1套试题 第一题:给定程序中,函数fun的功能是:计算N*N矩阵的主对角元素和反向对角元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。 请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。 #include 第二题:下列给定程序中,函数fun 的功能是:根据整型参n ,计算如下公式的值。 ,11=A ,1112A +=A ,1123A +=A … ,1 11-A +=A n n 例如,若n=10,则应输出0.617978。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main 函数,不得增行或删行,也不要更改程序的结构! #include C语言上机考试题库(40题) 1.编写程序,从键盘输入两个整数a和b,计算出a除以b的商和余数。输出 时,商数要求保留2位小数,并对第三位进行四舍五入。(不要求判断b是否0) 2.输入3个整数,按由小到大的顺序输出。 3.编写程序,从键盘输入圆的半径r,圆柱的高h,分别计算并输出圆周长, 圆面积,圆柱的体积,取小数点后2位数字。 4.编写程序判断输入的一个正整数是否既是5又是7的倍数。若是,则输出yes; 若否则输出no。 5.编写程序,输入某个年份,判断是否是闰年。 6.从键盘输入系数a,b,c,判断方程ax^2+bx+c=0是否有实数解,如果有实 数解则输出其解,如果没有则输出无解。 7.求出最小的正整数n,使得n满足除以3余2,除以5余3,除以7余4。 8.用switch语句编写程序实现功能:对于给定的一个百分制成绩,改用相应 的五级分成绩表示。设: 100≥score≥90分——A 89≥score≥80分——B 79≥score≥70分——C 69≥score≥60分——D 60分以下为E。 根据输入的分数输出对应的分数等级。 9.求x的y次方,即x^y。x为double,y为int。 10.用循环和数组求出Fibonacci数列的前20项,并输出。 11.有一维数组定义: int a[10]={12,3,5,2,80,56,39,47,11,67}; 从键盘上输入一个数字x,在a中做查询查找是否有和x相等的数值,如果有则将下标输出,如果未找到则输出no。 12.已知计算三角形面积的公式为:area=sqrt(s(s-a)(s-b)(s-c)) 其中 s=(a+b+c)/2,这里a,b,c分别为三角形的三条边,要求在能够构成三角形的前提下求出该三角形的面积。 13.请输出如下图形,行数n由键盘输入。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 14.打印出所有的”水仙花数”,所谓的”水仙花数”是指一个3位数,其各位 数字立方和等于该数本身。如370。 15.输入两个正整数m和n,求它们的最大公约数和最小公倍数。 16.求出100以内所有的素数。 17.若有说明:int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};现要将矩 阵转置后仍然存放到数组a中。试编程。 18.求1!+2!+3!+……+10!的结果并输出。 19.用指针实现对整型数组(长度为10)的值逆序输出。 20.有一个分数序列2/1,3/2,5/3,8/5,……,求出这个数列的前20项之和。 21.计算并输出下列多项式的值(n≤10) sn=1+1/1!+1/2!+1/3!+1/4!+…+1/n! 22.已知char str1[20]="student",str2[20]="teacher",要求将str1和str2 中的字符串互换。 23.编写程序实现功能:输入整数a和b,若a^2+b^2>100,则输出 a^2+b^2之 和的百位以上(含百位)的数字,否则直接输出的a^2+b^2和。 24.用函数的形式求出一个2×3的整型数组中的最大值,该二维数组的初值由 键盘输入。 25.编写一个函数change(char str[]),要求实现str中"abcde"的互换并仍然 保存在str中。将"abcde"换成"edcba"。 计算机,正大步向中国的家庭和我们每一个人走来;计算机,将永远是一个令人欢喜又令人烦恼的生活伴侣! 有一则笑话可以证明计算机病毒给人们所带来的恐惧:某一个家庭计算机用户上感染了病毒,其妻看到其夫用杀毒软件忙得大汗淋漓,禁不住走到丈夫身边关切地说:“千万不要把病毒传染到你的身上,又传给我和孩子,把我们一家都染上了病毒”。 有人说,二十世纪的人们需要拥有三个派司:开汽车、讲英语、会计算机,否则你就无法生存下去。人们不可能因为汽车带来的交通事故而摒弃汽车一样,人们也不可能因为在拥有计算机的同时,也拥有了忧愁和烦恼而拒计算机于千里以外。 “言为心声”。言的定义是很广泛的:汉语、英语和德语都是语言,音乐也是一种语言,虽然这两类语言的构成和表现力不同,但都是人的心声.作为音响诗人,莫扎特是了解自己的,他是一位善于扬长避短、攀上音乐艺术高峰的旷世天才。他自己也说过: “我不会写诗,我不是诗人……也不是画家。我不能用手势来表达自己的思想感情:我不是舞蹈家。但我可以用声音来表达这些:因为,我是一个音乐家。” 莫扎特音乐披露的内心世界是一个充满了希望和朝气的世界。尽管有时候也会出现几片乌黑的月边愁云,听到从远处天边隐约传来的阵阵雷声,但整个音乐的基调和背景毕竟是一派清景无限的瑰丽气象。即使是他那未完成的绝命之笔“d小调安魂曲”,也向我们披露了这位仅活了36岁的奥地利短命天才,对生活的执着、眷恋和生生死死追求光明的乐观情怀。 课程表 第3套 任何两种鸟的飞行方式都不可能完全相同,变化的形式千差万别,但大多可分为两类。横渡太平洋的船舶一连好几天总会有几只较小的信天翁伴随其左右,它们可以跟着船飞行一个小时而不动一下翅膀,或者只是偶尔抖动一下。沿船舷上升的气流以及与顺着船只航行方向流动的气流产生的足够浮力和前进力,托住信天翁的巨大翅膀使之飞翔。 信天翁是鸟类中滑翔之王,善于驾驭空气达到目的,但若遇到逆风则无能为力了。在与其相对的鸟类中,野鸭是佼佼者。野鸭与人类自夸用来“征服”天空的发动机有点相似。 野鸭及与之相似的鸽子,其躯体的大部分均长着坚如钢铁的肌肉,它们依靠肌肉的巨大力量挥动短小的翅,迎着大风长距离飞行,直到筋疲力竭。它们中较低级的同类,例如鹧鸪,也有相仿的顶风飞翔的冲力,但不能持久。如果海风迫使鹧鸪作长途飞行的话,你可以从地上拣到因耗尽精力而堕落地面的鹧鸪。 燕子在很大程度上则兼具这两类鸟的全部优点。它既不易感到疲倦也不自夸其飞翔力,但是能大显身手,往返于北方老巢飞行6000英里,一路上喂养刚会飞的雏燕,轻捷穿行于空中。即使遇上顶风气流,似乎也能助上一臂之力,飞越而过,御风而驰。 注:以下都为每套题的编程题的关键字,通过这些关键字确定你答题的套数,通过套数确定填空和改错的题目,然后有针对性的答题! 1.移动的规则,把1到第m个字符,m+1,abcdefghijk m 3 2.功能是:把制定分数范围内的学生数据放在b所指的数组中,分数范围内的60 69 3.找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分) 4.将SS所指字符串中所有下标为技术位置上的字母转换为大写(若该位置不是字母,则 不转换) 5.使实型数保留2位小数,并对第三位进行四舍五入(规定实型数为正数) 6.根据以下公式求π的值(要求满足精度0.0005,即某项小于0.0005时停止迭代) 7.将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。 8.除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用c语言 9.将字符串中的前导*号全部移到字符串的尾部 10.使字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于 11.求出能整除形参x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中 12.将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串总剩余的字符 13.将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:十位 14.求小于形参n同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回 15.将m行n列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中的数 16.按分数的高低排列学生的记录,高分在前 17.求出数组周边的元素的平均值并作为函数值返给主函数的s 18.求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。 19.将字符串尾部的*号全部删除,前面和中间的*号不删除。 20.求出最小或等于lim的所有素数并放在aa数组中,函数返回所求的素数的个数。 21.将大于形参m且紧靠m的k个素数存入xx所指的数组中。 22.找出最高分,由函数值返回。 23.把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形 24.求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予 25.将s所指的字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余删除 26.从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址(注**) 27.判断字符串是否为回文?若是,函数返回1,主函数中输出:YES,否则返回0, 28.删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列 29.找出一维整数数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参 30.统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所 有单词由小写字母组成。 31.使数组右上角元素中的值乘以m 例如m 2 32.将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中 33.把分数最低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一个 34.计算下列级数和,S=1+X+...... 和值由函数值返回 35.将S所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指 的数组中 36.求出一个2M 整形二维数组中最大元素的值,并将此值返回调用函数 37.将一个数字字符串转换为一个整数。。例如,若输入字符串:“-1234”,则函数把它转换 为整数值-1234 38.将A,B中的两个两位正整数合并形成一个新整数放在c中。合并的方式是:将a中的和 2017年全国计算机等级考试C语言上机考试题库 学生练习用第41套至第60套 第四十一套 1、程序填空 下列给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后将新字符串的首地址作为函数值返回。 例如,若s所指字符串为:"asd123fgh543df",处理后新字符串为:"asdfghdf123543"。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序在文件中。 不得增行或删行,也不得更改程序的结构! ----------------------------------------------------------------------------------------------------------------- #include <> #include <> #include <> char *fun(char *s) { int i, j, k, n; char *p, *t; n=strlen(s)+1; t=(char*)malloc(n*sizeof(char)); p=(char*)malloc(n*sizeof(char)); j=0; k=0; for(i=0; i2009年4月上机100套题及答案51-60
行测100套模拟试题含答案5(共6)
word上机操作练习题库
用友上机操作题(平时上机练习题)
上机题
上机试题3及答案.docx
全国计算机二级C语言上机考试题库(可直接打印)
2020年全国计算机等级考试二级c语言上机精选题库(共80套)
上机题
word2010上机操作练习题
上机题库
全国计算机等级考试C语言上机考试题库 套