3级网络南开100题(题型分类)
- 格式:doc
- 大小:40.00 KB
- 文档页数:2
南开100题下载 09年4月三级网络技术南开上机100题2009年10月26日星期一 04:15计算机二级C语言上机南开100题--12009-03-22 18:141: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
全国计算机等级考试 三级C 语言上机100题**********************************☆题目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<m;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 中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt ,并把这些四位数按从大到小的顺序存入数组b 中。
最后main( )函数调用写函数writeDat()把结果cnt 以及数组b 中符合条件的四位数输出到OUT.DAT 文件中。
注意:部分源程序存在文件prog1.c 中。
程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文件IN.DAT 中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
nt = 0 ; void jsVal() { int i,j,qw,bw,sw,gw; for(i=0;i<MAX;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&&s w%2==0&&gw%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;} } *********************************★题目3 函数ReadDat( )实现从文件IN.DAT 中读取一篇英文文章存入到字符串数组xx 中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o 左边的字符串内容移到该串的右边存放,然后把小写字母o 删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx 中。
计算机三级PC南开100题第一题:一、请编制程序,其功能是:将内存中由SOURCE指示的40个字节有符号数组成的数组分成正数和负数两个数组,并求这两个数组的数据个数,结果存放在RESULT 指示的内存区域,存放形式为正数个数在前,其后跟正数数组元素,然后是负数个数及负数数组元素。
例如:内存中有1EH,91H,74H,91H,42H,30H,81H,F3H,18H,25H结果为06H,1EH,74H,42H,30H,18H,25H,04H,91H,91H,81H,F3H 试题程序:EXTRN LOAD:FAR,SAVE:FARN EQU 40STAC SEGMENT STACKDB 128 DUP(?)STAC ENDSDATA SEGMENTSOURCE DB N DUP(0)RESULT DB N+2 DUP(0)NAME0 DB 'INPUT1.DAT',0NAME1 DB 'OUTPUT1.DAT',0NDATA DB N DUP(0)PDATA DB N DUP(0)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV ES,AX ;置附加段寄存器LEA DX,SOURCE ;数据区起始地址LEA SI,NAME0 ;原始数据文件名MOV CX,N ;字节数CALL LOAD ;从'INPUT1.DAT'中读取数据;****BEGIN****LEA SI,SOURCEMOV DI,OFFSET PDATA ;PDATA为正数数组存放缓冲区首址MOV BX,OFFSET NDATA ;NDATA为负数数组存放缓冲区首址XOR DX,DXMOV CX,N CLDMAIN1: LODSBTEST AL,_______________JZ MAIN2INC DH ;-MOV [BX],ALINC BX_______________MAIN2: INC DLMOV [DI],AL ;+INC DIMAIN3: _______ MAIN1LEA SI,PDATALEA DI,RESULTMOV [DI],DLINC DIXOR CX,CXMOV CL,DLMAIN4: MOV AL,_______________MOV [DI],ALINC DIINC SILOOP _______________MOV [DI],DHINC DIXOR CX,CXMOV CL,DHMOV BX,OFFSET NDATAMAIN5: MOV AL,[BX]MOV [DI],ALINC DI_______________LOOP MAIN5;****END****LEA DX,RESULT ;结果数据区首址LEA SI,NAME1 ;结果文件名MOV CX,N+2 ;字节数CALL SAVE ;保存结果到文件RETSTART ENDPCODE ENDSEND START第二题:一、请编制程序,其功能是:内存中连续存放着10个无符号8位格雷码表示的数,现将此十个数转换成十个8位二进制数,结果存入内存,其转换方法为二进制数的最高位D7与格雷码的最高位G7相同,二进制数的其余七位D K (k=6,…,0)分别为格雷码的位G K(k=6,…,0)与二进制数的位D K+1(k=6,…,0)异或的结果。
目录整数排序题................................................................................................................................. 错误!未定义书签。
☆题目1(整数排序题) .................................................................................................... 错误!未定义书签。
☆题目2 正整数排序........................................................................................................ 错误!未定义书签。
★☆题目3(整数统计排序题) ........................................................................................ 错误!未定义书签。
☆题目4(整数统计排序题) ............................................................................................ 错误!未定义书签。
题目5(整数运算排序题).............................................................................................. 错误!未定义书签。
★题目6(整数各位统计排序题).................................................................................. 错误!未定义书签。
全国计算机等级考试三级网络技术上机南开100题☆题目1请编写一个函数num (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<m;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中存有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<MAX;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<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;}}★题目3(字符型题)函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。
题目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<m;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。
全国计算机等级考试三级C语言上机100题几点说明:**********************************☆题目1请编写一个函数jsValue(intm,intk,intxx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。
最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。
部分源程序存在文件prog1.c中。
例如:若输入175则应输出:19,23,29,31,37。
请勿改动主函数main()和写函数writeDat()的内容。
#include<conio.h>#include<stdio.h>voidreadwriteDat();intisP(intm){inti;for(i=2;i<m;i++)if(m%i==0)return0;return1;}voidnum(intm,intk,intxx[]){ints=0;for(m=m+1;k>0;m++)if(isP(m)){xx[s++]=m;k--;}}main(){intm,n,xx[1000];clrscr();printf("\nPleaseentertwointegers:");scanf("%d%d",&m,&n);num(m,n,xx);for(m=0;m<n;m++)printf("%d",xx[m]);printf("\n");readwriteDat();}voidreadwriteDat(){intm,n,xx[1000],i;FILE*rf,*wf;rf=fopen("in.dat","r");wf=fopen("out.dat","w");for(i=0;i<10;i++){fscanf(rf,"%d%d",&m,&n);num(m,n,xx);for(m=0;m<n;m++)fprintf(wf,"%d",xx[m]);fprintf(wf,"\n");}fclose(rf);fclose(wf);}*********************************☆题目2已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。
全国计算机等级考试三级网络技术南开上机100题(81-85)2007年08月03日星期五 00:16 A.M.☆题目81(整数各位数运算题)已知数据文件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。
部分源程序存在文件prog1.c中。
程序中已定义数组:a[300],已定义变量:cnt,pjz1,pjz2。
请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。
#include <stdio.h>int a[300],cnt=0;double pjz1=0.0,pjz2=0.0;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;}main(){int i;readDat();jsValue();writeDat();printf("cnt=%d\n满足条件的平均值pzj1=%7.2f\n不满足条件的平均值pzj2=%7.2f\n",cnt,pjz1,pjz2);}readDat(){FILE *fp;int i;fp=fopen("in.dat","r");for(i=0;i<300;i++)fscanf(fp,"%d,",&a[i]);fclose(fp);}writeDat(){FILE *fp;int i;fp=fopen("out.dat","w");fprintf(fp,"%d\n%7.2f\n%7.2f\n",cnt,pjz1,pjz2);fclose(fp);}********************************************************************* ***★题目82(素数题)已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果cnt,pjz1,pjz2输出到out.dat文件。
全国计算机等级考试三级网络技术南开上机100题21: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp 所指的数组中。