三级上级南开100题
计算机三级上机:适用于三级网络技术、数据库等(南开100题)
全国计算机等级考试三级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()的内容。
#include <conio.h>#include <stdio.h>void readwriteDat();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--;}}main(){int m,n,xx[1000];clrscr();printf("\nPlease enter two integers:");scanf("%d%d",&m,&n);num(m,n,xx);for(m=0;m<n;m++)printf("%d ",xx[m]);printf("\n");readwriteDat();}void readwriteDat(){int m,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.DA T中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。
计算机三级PC技术上机南开100题(全)
计算机三级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)异或的结果。
三级C语言上机南开100题_修订word版
*******************************************************************************☆题目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文件中。
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中。
计算机三级上机:适用于三级网络技术、数据库等(南开100题)
全国计算机等级考试三级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()的内容。
#include <conio.h>#include <stdio.h>void readwriteDat();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--;}}main(){int m,n,xx[1000];clrscr();printf("\nPlease enter two integers:"); scanf("%d%d",&m,&n);num(m,n,xx);for(m=0;m<n;m++)printf("%d ",xx[m]);printf("\n");readwriteDat();}void readwriteDat(){int m,n,xx[1000], i;FILE *rf,*wf;rf=fopen("in.dat","r");wf=fopen("out.dat","w");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.DA T中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。
全国计算机等级考试三级网络技术上机考试南开一百题之选票
题目39(选票问题)内容均为字符0和1,1表示此人被选中,0表示此人未被选中,全选或不选均为无效的选票。
制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中。
voidCountRs(void){ inti,j,count;for(i=0;i<100;i++){ count=0;for(j=0;j<10;j++)if(xx[i][j]=='1') count++;if(count==0||count==10) continue;for(j=0;j<10;j++)if(xx[i][j]=='1') yy[j]++; }}题目58现有一个10个人100行的选票数据文件IN.DA T,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推:内容均为字符0和1,1表示此人被选中,0表示此人未被选中,若一张选票人数小于等于5个人时被认为无效的选票。
编制函数CountRs()voidCountRs(void){ inti,j,count;for(i=0;i<100;i++){ count=0;for(j=0;j<10;j++)if(xx[i][j]=='1') count++;if(count<=5) continue;for(j=0;j<10;j++)if(xx[i][j]=='1') yy[j]++; }}题目84:内容均为字符0和1,1表示此人被选中,0表示此人未被选中,若一张选票人数大于5个人时被认为无效的选票。
制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中。
voidCountRs(void){ inti,j,count;for(i=0;i<100;i++){ count=0;for(j=0;j<10;j++)if(xx[i][j]=='1') count++;if(count>5) continue;for(j=0;j<10;j++)if(xx[i][j]=='1') yy[j]++;}}。
三级上机c语言100题
void StrOR(void)
{int i;
char *p1,*p2,t[80];
for(i=0;i<maxline;i++)
{t[0]='\0';p2=xx[i];
while(*p2)
{if(*p2=='o') p1=p2;
p2++;}
memcpy(t1,p1+1,p2-p1);
t1[p2-p1]=0;
strcat(t,t1);
strcat(t," ");
if(p1<xx[i]) k=0;
}
strcpy(xx[i],t);
}
}
PROG1.C
# include"stdio.h"
# include"string.h"
for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;
fclose(fp) ;
}
void main()
{ int i ;
readDat() ;
jsVal() ;
printf("满足条件的数=%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;
指向最后一个字母'o'。第一个ctrcat()函数的作用是将p1以后的字符都放到新串t中
计算机三级上机适用于三级网络技术数据库等南开题
全国计算机等级考试三级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题
全国计算机等级考试三级网络技术南开上机100题几点说明:1、题目标题号前用“☆”显示的是2005年4月份本人根据各大论坛考生聩的题号集中而来,题号前加“★”为2005年9月上机考试题,其中难免有题型相同而题号增加的现象,此类标明,仅供参考。
2、每种题目,只用一种解题方法,兰色部分为解题答案,此种方法本人觉得容易理解,不易出错,适合初学者。
3、特别说明:所有解法,本人均上机验证通过。
4、个别南开题如57、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()的内容。
#include <conio.h>#include <stdio.h>void readwriteDat();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--;}}main(){int m,n,xx[1000];clrscr();printf("\nPlease enter two integers:");scanf("%d%d",&m,&n);num(m,n,xx);for(m=0;m<n;m++)printf("%d ",xx[m]);printf("\n");readwriteDat();}void readwriteDat(){int m,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题(71-80)
题目71(字符串左右排序题)函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。
请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。
条件:从字符串中间一分为二,左边部分按字符的ASCII值降序排序,右边部分按字符的ASCII值升序排序。
如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。
例如:位置0 1 2 3 4 5 6 7 8源字符串 a b c d h g f e1 2 3 4 9 8 7 6 5则处理后字符串 d c b a e f g h4 3 2 1 9567 8部分源程序存在文件prog1.c中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
#include <stdio.h>#include <string.h>#include <conio.h>char xx[20][80];void jsSort(){int i,j,k,strl,half;char ch;for(i=0;i<20;i++){ strl=strlen(xx[i]);half=strl/2;for(j=0;j<half-1;j++)for(k=j+1;k<half;k++)if(xx[i][j]<xx[i][k]){ ch=xx[i][j];xx[i][j]=xx[i][k];xx[i][k]=ch;}if(strl%2) half++;for(j=half;j<strl-1;j++)for(k=j+1;k<strl;k++)if(xx[i][j]>xx[i][k]){ch=xx[i][j];xx[i][j]=xx[i][k];xx[i][k]=ch;}}}void main(){readDat();jsSort();writeDat();}readDat(){FILE *in;int i=0;char *p;in=fopen("in.dat","r");while(i<20&&fgets(xx[i],80,in)!=NULL){p=strchr(xx[i],'\n');if(p)*p=0;i++;}fclose(in);}writeDat(){FILE *out;int i;clrscr();out=fopen("out.dat","w");for(i=0;i<20;i++){printf("%s\n",xx[i]);fprintf(out,"%s\n",xx[i]);}fclose(out);}********************************************************************* *****题目72(整数各位打散组合运算题)已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把个位数字和千位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),如果新组成的两个十位数均是偶数并且两个十位数中至少有一个数能被9整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。
计算机三级上机:适用于三级网络技术、数据库等(南开100题)
三级C语言上机100题几点说明:**********************************☆题目1请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。
最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件中。
部分源程序存在文件中。
例如:若输入17 5 则应输出:19,23,29,31,37。
请勿改动主函数main()和写函数writeDat()的内容。
#include <>#include <>void readwriteDat();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--;}}main(){int m,n,xx[1000];clrscr();printf("\nPlease enter two integers:");scanf("%d%d",&m,&n);num(m,n,xx);for(m=0;m<n;m++)printf("%d ",xx[m]);printf("\n");readwriteDat();}void readwriteDat(){int m,n,xx[1000], i;FILE *rf,*wf;rf=fopen("","r");wf=fopen("","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已知数据文件中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。
全国计算机等级考试三级网络技术上机题库(南开大学)
全国计算机等级考试三级网络技术上机试题库【南开100题最新版】Content整数排序题 (4)☆题目1(整数排序题) (4)☆题目2 正整数排序 (4)★☆题目3(整数统计排序题) (5)☆题目4(整数统计排序题) (5)题目5(整数运算排序题) (6)★题目6(整数各位统计排序题) (6)题目7(整数统计排序题) (7)★题目8(整数排序题) (7)★题目9(整数各位数字运算排序题) (8)题目10(整数各位数运算排序题) (8)★☆题目11 (整数各位数运算及排序题) (9)整数统计运算题 (9)★☆题目12整数统计运算题) (9)☆题目13(整数统计运算题) (10)☆题目14(整数统计运算题) (10)题目15(整数统计运算题) (11)题目16(整数统计运算题) (11)题目17(整数统计运算题) (12)☆题目18(整数统计运算题) (12)题目19(整数统计运算题) (12)题目20(整数各位数字运算题) (13)☆题目21(整数各位数字运算题) (13)题目22(整数各位数字运算题) (14)☆题目23(整数各位数字运算题) (14)题目24(整数各位数字运算题) (15)☆题目25(整数各位数字统计运算题) (15)★☆题目26(整数各位运算题) (15)题目27(整数各位数运算题) (16)☆题目28(整数各位数运算题) (16)☆题目29(整数各位运算统计题) (17)☆题目30 (18)题目31 (18)整数各位打散组合运算题 (19)★☆题目32(整数各位打散组合运算题) (19)☆题目33(整数各位打散组合运算题) (19)★☆题目34(整数各位打散组合运算题) (20)题目35(整数各位打散组合运算题) (20)★题目36(整数各位打散组合运算题题) (21)题目39(整数各位打散组合运算题) (23)素数题 (23)题目40(素数题) (23)题目41(素数统计排序题) (24)★☆题目42(素数题) (24)★题目43(素数题) (25)★题目44(素数题) (26)★题目45(数字运算题) (26)★题目46(数字统计排序题) (27)☆题目47(数字统计排序题) (27)字符型题 (28)题目48字符型题 (28)★题目49(字符处理——倒序输出) (29)★题目50(字符排序题) (29)★☆题目51(替换字符题) (30)☆题目52(亲朋字符替换题) (30)字符串处理题 (31)★☆题目53(字符串排序题) (31)☆题目54(字符串字母移位题) (32)★☆题目55(字符串左右排序交换题) (32)题目56(字符串左右排序交换题) (33)★题目57(字符串移位题) (33)题目58(字符串排序题) (34)★题目59(字符串左右排序题) (34)★题目60(字符ASCII值移位替换题) (35)方差运算题 (36)★☆题目61(方差运算题) (36)☆题目62(方差运算题) (36)☆题目63(方差运算题) (37)☆题目64(整数各位数运算题) (38)★题目65(字符替换题) (38)★☆题目66(字符替换题) (39)★题目67(字符替换题) (39)题目68(字符替换题) (39)题目69(字符替换题) (40)☆题目70(字符替换题) (40)★题目71(字符替换题) (41)☆题目72(字符替换题) (41)☆题目73(字符替换题) (42)★题目74(字符替换题) (42)★题目75(字符替题) (42)★☆题目76(字符替换题) (43)☆题目77(结构体操作题) (43)★☆题目78(结构体运算题题) (44)☆题目81(结构体运算题) (45)题目82(结构体运算题) (45)题目83 结构体运算题 (45)题目84(结构体运算题) (46)★题目85(结构体运算题) (46)题目86(结构体排列题) (47)选票问题 (47)题目87(选票问题) (47)★☆题目88(选票问题) (48)☆题目89(选票问题) (48)★☆题目90(级数运算题) (49)其他问题 (49)☆题目91(单词个数统计题) (49)★题目92(Fibonacci数列题) (50)☆题目93(迭代方法求方程题) (50)★题目94(平方根问题) (51)题目95 (实数运算题) (52)题目96(完全平方数问题) (53)★题目97 (回文数问题) (53)★题目98(出圈题) (54)☆题目99(SIX/NINE问题) (54)三级网络上机题型整数排序题☆题目1(整数排序题)在文件in.dat中有200个正整数,且每个数均在1000至9999之间。
全国计算机等级考试三级上机题库(南开100题)
if (b[I]<b[j])
{k=b[I];b[I]=b[j];b[j]=k;}
}
题目1:下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请编写函数num(int m,int k,int xx[])实现函数的要求 ,最后调用函数readwriteDAT()把结果输出到文件out.dat中。 例如:若输入17,5,则应输出:19,23,29,31,37。
注意:部分源程序已给出。
请勿改动主函数main()和函数readwriteDAT()的内容。
--------------
类型:素数。
void num(int m,int k,int xx[]) /*标准答案*/
{int data=m+1;
int half,n=0,I;
while(1)
{half=data/2;for(I=2;I<=half;I++)
if(data%I==0)break;
if(I>half)
{xx[n]=data;n++;}
if(n>=k)break;
data++;
} }
题目2:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存果四位数各位上的数字均是0或2或4或6或8, 则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
注意: 部分源程序存在文件PROG1.C文件中。
计算机三级上机:适用于三级网络技术、数据库等(南开100题)
全国计算机等级考试三级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() 的内容。
#include <conio.h> #include <stdio.h> void readwriteDat();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--;} }main(){i nt m,n,xx[1000];clrscr();p rintf("\nPlease enter two integers:");scanf("%d%d",&m,&n);n um(m,n,xx); for(m=0;m<n;m++)printf("%d ",xx[m]);printf("\n"); readwriteDat();}void readwriteDat(){int m,n,xx[1000], i;FILE *rf,*wf;r f=fopen("in.dat","r");wf=fopen("out.dat","w");f or(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.DA T 中存有200 个四位数,并已调用读函数readDat() 把这些数存入数组 a 中,请考生编制一函数jsVal() ,其功能是:如果四位数各位上的数字均是0 或2 或4 或6 或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到全国计算机等级考试三级C语言上机100 题几点说明:********************************** ☆题目 1请编写一个函数jsValue(int m,int k,int xx[]) ,该函数的功能是:将大于整数m 且紧靠m 的k 个素数存入数组xx 传回。
南开计算机等级考试上机100题(三级)
南开计算机等级考试上机100题(三级)1. 函数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)所对应的字符进行替代。
部分源程序已给出,原始数据文件存放的格式是:每行的宽度均小于80个字符。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
#include#include#include#includeunsigned char xx[50][80];int maxline=0;/*文章的总行数*/int ReadDat(void)void WriteDat(void)void encryptChar(){ int i,j;char *p;for(i=0;i='a'&&xx[j]='0'&&p='A'&&p='0'&&xx[j]='A'&&xx[j] ='a'&&p130);else xx[j]=p; } }11.函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(第行字符串长度均小于80)。
请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。
全国计算机等级考试三级网络技术南开上机100题
全国计算机等级考试三级网络技术南开上机100题几点说明:1、题目标题号前用“☆”显示的是2005年4月份本人根据各大论坛考生聩的题号集中而来,题号前加“★”为2005年9月上机考试题,其中难免有题型相同而题号增加的现象,此类标明,仅供参考。
2、每种题目,只用一种解题方法,加粗部分为解题答案,此种方法本人觉得容易理解,不易出错,适合初学者。
3、特别说明:所有解法,本人均上机验证通过。
4、个别南开题如57、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()的容。
#include <conio.h>#include <stdio.h>void readwriteDat();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--;}}main(){int m,n,xx[1000];clrscr();printf("\nPlease enter two integers:"); scanf("%d%d",&m,&n);num(m,n,xx);for(m=0;m<n;m++)printf("%d ",xx[m]);printf("\n");readwriteDat();}void readwriteDat(){int m,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中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国计算机等级考试三级C 语言上机100题2005年9月最新修订版由木易修订发布于欣宇排版上传于啄木论坛几点说明:1、题目标题号前用“☆”显示的是2005年4月份根据各大论坛考生反聩的题号集中而来,题号前加“★”为2005年9月上机考试题,此类标明,仅供参考。
2、每种题目,只用一种解题方法,蓝色加粗部分为解题答案,此种方法容易理解,不易出错,适合初学者。
3、特别说明:所有解法均上机验证通过。
**********************************☆题目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()的内容。
#include <conio.h>#include <stdio.h>void readwriteDat();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--;}}main(){int m,n,xx[1000];clrscr();printf("\nPlease enter two integers:"); scanf("%d%d",&m,&n);num(m,n,xx);for(m=0;m<n;m++)printf("%d ",xx[m]);printf("\n");readwriteDat();}void readwriteDat(){int m,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.DA T 中存有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.DA T 中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
#include <stdio.h> #define MAX 200 int a[MAX], b[MAX], cnt = 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;} }void readDat() { int i ; FILE *fp ; fp = fopen("in.dat", "r") ; for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ; fclose(fp) ; } void main() { int i ; readDat() ; jsVal() ; printf("满足条件的数=%d\n", cnt) ; for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ; printf("\n") ; writeDat() ; } writeDat() { FILE *fp ; int i ; fp = fopen("out.dat", "w") ; fprintf(fp, "%d\n", cnt) ; for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ;fclose(fp) ; }*********************************★题目3 函数ReadDat( )实现从文件IN.DAT 中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o 左边的字符串内容移到该串的右边存放,然后把小写字母o 删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx 中。
最后main()函数调用函数WriteDat()把结果xx 输出到文件OUT5.DA T 中。
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序存放在文件prog1.c 中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
#include <stdio.h> #include <string.h> #include <conio.h> char xx[50][80] ; int maxline = 0 ; /* 文章的总行数 */ int ReadDat(void) ; void WriteDat(void) ; void StrOR(void) {int i,righto,j,s,k; char tem[80]; for(i=0;i<maxline;i++) for(j=strlen(xx[i])-1;j>=0;j--) { k=0; memset(tem,0,80); if(xx[i][j]=='o'){righto=j;for(s=righto+1;s<strlen(xx[i]);s++)tem[k++]=xx[i][s];for(s=0;s<righto;s++)if(xx[i][s]!='o')tem[k++]=xx[i][s];strcpy(xx[i],tem);}else continue;}}void main(){clrscr() ;if(ReadDat()) {printf("数据文件IN.DAT不能打开!\n\007") ;return ;}StrOR() ;WriteDat() ;}int ReadDat(void){FILE *fp ;int i = 0 ;char *p ;if((fp = fopen("IN.DAT", "r")) == NULL) return 1 ;while(fgets(xx[i], 80, fp) != NULL) {p = strchr(xx[i], '\n') ;if(p) *p = 0 ;i++ ;}maxline = i ;fclose(fp) ;return 0 ;}void WriteDat(void){FILE *fp ;int i ;clrscr() ;fp = fopen("OUT5.DAT", "w") ;for(i = 0 ; i < maxline ; i++) {printf("%s\n", xx[i]) ;fprintf(fp, "%s\n", xx[i]) ;}fclose(fp) ;}********************************** ★题目4函数ReadDat()实现从文件IN.DA T中读取一篇英文文章存入到字符串数组xx 中,请编制函数StrOL(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。
最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT6.DA T中。
例如:原文:You He MeI am a student.结果:Me He Youstudent a am I原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
部分源程序存在文件prog1.c中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。
#include <stdio.h>#include <string.h>#include <conio.h>#include <ctype.h>char xx[50][80];int maxline=0;/*文章的总行数*/int ReadDat(void);void WriteDat(void);void StrOL(void){ int i,j,k,s,m,strl;char str[80];for(i=0;i<maxline;i++){ strl=strlen(xx[i]);memset(str,0,80);s=k=0;for(j=strl-1;j>=0;j--){ if(isalpha(xx[i][j])) k++;else { for(m=1;m<=k;m++)str[s++]=xx[i][j+m];k=0;}if(!isalpha(xx[i][j]))str[s++]=' ';}for(m=1;m<=k;m++)str[s++]=xx[i][j+m];str[s]='\0';strcpy(xx[i],str); }}void main(){clrscr();if(ReadDat()){printf("数据文件IN.DAT不能打开!\n\007");return;}StrOL();WriteDat();}int ReadDat(void){FILE *fp;int i=0;char *p;if((fp=fopen("IN.DA T","r"))==NULL)return 1;while(fgets(xx[i],80,fp)!=NULL){p=strchr(xx[i],'\n');if(p)*p=0;i++;}maxline=i;fclose(fp);return 0;}void WriteDat(void){FILE *fp;int i;clrscr();fp=fopen("OUT6.DAT","w");for(i=0;i<maxline;i++){printf("%s\n",xx[i]);fprintf(fp,"%s\n",xx[i]);}fclose(fp);}**********************************☆题目5(整数排序题)在文件in.dat中有200个正整数,且每个数均在1000至9999之间。