2008年计算机三级网络上机南开100题(word完整版)

更新时间:2023-11-26 20:12:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2008年计算机三级网络上机南开100题(完整版)

2008年计算机三级网络

上机南开100题(完整版)

制作:风雨夜归人

更多资料请联系tengguangyou@gmail.com

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 #include

unsigned char xx[50][80]; int maxline=0;/*文章的总行数*/ int ReadDat(void) void WriteDat(void) void encryptChar() { int i,j; char *p;

for(i=0;i

else xx[j]=p; } } void main() {clrscr(); if(ReadDat()){ return; encryptChar(); FILE *fp; int i=0;

unsigned char *p;

if((fp=fopen(\\\p=strchr(xx,'\\\\n'); if(p)*p=0; i++;

1

} maxline=i; fclose(fp); return 0; }

void WriteDat(void) { FILE *fp; int i;

fp=fopen(\\\for(i=0;i

fclose(fp);}

2. 函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS8.DAT中。

替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是小写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void encryptChar() { int i,j; char *p;

for(i=0;i

if(p<=32||(xx[j]>='a'&&xx[j]<='z')) ;

else xx[j]=p; } }

3.函数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)所对应的字符进行替代。部分源程序已给出。

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void encryptChar() { int i,j; char *p;

for(i=0;i

if(p<=32||(p>='0'&&p<='9')) ;

else xx[j]=p; } }

4.函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS4.DAT中。

替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是大写字母,则该字符不变,否则将f(p)所对应的字符进行替代。部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容

void encryptChar() { int i,j; char *p;

for(i=0;i

if(p<=32||(p>='A'&&p<='Z')) ;

else xx[j]=p; } }

5. 函数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)所对应的字符进行替代。部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80个字符。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void encryptChar()

2

{ int i,j; char *p;

for(i=0;i

else xx[j]=p; } }

6. 函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS9.DAT中。

替代关系:f(p)=p*11mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是数字字符0至9或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

void encryptChar() { int i,j; char *p;

for(i=0;i

if(p<=32||(xx[j]>='0'&&xx[j]<='9')) ;

else xx[j]=p; } }

7.函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS7.DAT中。

替代关系:f(p)=p*11mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是大写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void encryptChar() { int i,j; char *p;

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

for(i=0;i

if(p<=32||(xx[j]>='A'&&xx[j]<='Z')) ;

else xx[j]=p; } }

8.函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS5.DAT中。

替代关系:f(p)=p*11mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字母,则该字符不变,否则将f(p)所对应的字符进行替代。部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

void encryptChar() { int i,j; char *p;

for(i=0;i

if(p<=32||(p>='a'&&p<='z')) ;

else xx[j]=p; } }

9.函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS3.DAT中。

替代关系:f(p)=p*17mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或其ASCII值是奇数,则该字符不变,否则将f(p)所对应的字符进行替代。部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。void encryptChar() { int i,j; char *p;

for(i=0;i

3

if(p<=32||xx[j]%2!=0) ;

else xx[j]=p; } }

10.函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS1.DAT中。

替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。 部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。void encryptChar() { int i,j; char *p;

for(i=0;i130) ;

else xx[j]=p; } }

11.函数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

部分源程序已给出。 请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 #include #include #include

char xx[20][80]; void jsSort()

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

{ int i,j,k,m; char c;

for(i=0;i<20;i++) { k=strlen(xx); for(j=0;j

for(m=j+1;m if(xx[j]>xx[m]) { c=xx[j]; xx[j]=xx[m]; xx[m]=c; }

for(j=0;j

xx[j]=xx[(k+1)/2+j]; xx[(k+1)/2+j]=c; } } }

void main() { readDat(); jsSort(); writeDat(); } readDat() { FILE *in; int i=0; char *p;

in=fopen(\\\ while(i<20&&fgets(xx,80,in)!=NULL){ p=strchr(xx,'\\\\n'); if(p)*p=0; i++; } fclose(in); } writeDat() { FILE *out(); int i; clrscr();

out=fopen(\\\for(i=0;i<20;i++){ printf(\\\

fprintf(out,\\\fclose(out); }

12.函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(第行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。条件:从字符串中间一分为二,左边部分按字符的ASCII值降序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

4

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

部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数 WriteDat()的内容。 void jsSort() { int i,j,k,m; char c;

for(i=0;i<20;i++) { k=strlen(xx); for(j=0;j

for(j=0;j

xx[j]=xx[(k+1)/2+j]; xx[(k+1)/2+j]=c; } } }

13. 函数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 e 1 2 3 4 9 8 7 6 5 则处理后字符串 d c b a e f g h 4 3 2 1 9 5 6 7 8

部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void jsSort() { int i,j,k,m,n; char c;

for(i=0;i<20;i++) { k=strlen(xx); for(j=0;j

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

if(xx[j]

for(m=j+1;m if(xx[j]>xx[m]) { c=xx[j]; xx[j]=xx[m]; xx[m]=c; } } }

14.函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(第行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串变量的下标为奇数的字符按其ASCII值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。 例如:位置 0 1 2 3 4 5 6 7 源字符串 h g f e d c b a 则处理后字符串 h a f c d e b g

部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void jsSort() { int i,j,k,m; char c;

for(i=0;i<20;i++) { k=strlen(xx); for(j=1;j

for(m=j+2;m if(xx[j]>xx[m]) { c=xx[j]; xx[j]=xx[m];

xx[m]=c; } } }

15.函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(第行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。条件:从字符串中间一分为二,右边部分按字符的ASCII值升序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。 例如:位置 0 1 2 3 4 5 67 8 源字符串 d c b a h g f e 8 7 6 5 9 1 2 3 4

5

则处理后字符串 e f g h d c b a 5 6 7 8 9 4 3 2 1

部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数 WriteDat()的内容。 void jsSort() { int i,j,k,m,n; char c;

for(i=0;i<20;i++) { k=strlen(xx); if(k%2==0) n=k/2; else n=k/2+1; for(j=n;j

for(m=j+1;m if(xx[j]>xx[m]) { c=xx[j]; xx[j]=xx[m]; xx[m]=c; }

for(j=0;j

xx[j]=xx[(k+1)/2+j]; xx[(k+1)/2+j]=c; } } }

16.函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(第行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。条件:从字符串中间一分为二,右边部分按字符的ASCII值降序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。

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

部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void jsSort() { int i,j,k,m,n; char c;

for(i=0;i<20;i++) { k=strlen(xx); if(k%2==0) n=k/2; else n=k/2+1;

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

for(j=n;j

for(j=0;j

xx[j]=xx[(k+1)/2+j]; xx[(k+1)/2+j]=c; } } }

17.函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(第行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。条件:从字符串中间一分为二,左边部分按字符的ASCII值升序排序,右边部分按字符的ASCII值降序排序。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。 例如:位置 0 1 2 3 4 5 6 7 8 源字符串 h g f e a b c d 8 7 6 5 9 1 2 3 4 则处理后字符串 e f g h d c b a 5 6 7 8 9 4 3 2 1

部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void jsSort() { int i,j,k,m,n; char c;

for(i=0;i<20;i++) { k=strlen(xx); for(j=0;j

for(m=j+1;m if(xx[j]>xx[m]) { c=xx[j]; xx[j]=xx[m]; xx[m]=c; } if(k%2==0) n=k/2; else n=k/2+1; for(j=n;j

18.函数ReadDat()实现从文件in.dat中读取20行数据存放到

6

字符串数组xx中(第行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串变量的下标为奇数的字符按其ASCII值从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。 例如:位置 0 1 2 3 4 5 6 7 源字符串 a b c d e f g h 则处理后字符串 a h c f e d g b

部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void jsSort() { int i,j,k,m; char c;

for(i=0;i<20;i++) { k=strlen(xx); for(j=1;j

xx[m]=c; } } }

19.在文件中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。

例:处理前 6012 5099 9012 7025 8088 处理后 9012 6012 7025 8088 5099

部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 #include #include #include

int aa[200],bb[10]; void jsSort() { int i,j,k,m,n,c; for(i=0;i<200;i++) for(j=i+1;j<200;j++) { m=aa00; n=aa[j]00; if(m>n) { c=aa; aa=aa[j];

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

aa[j]=c; } if(m==n) { if(aa

aa[j]=c; } } }

for(i=0;i<10;i++) bb=aa; }

void main() { readDat(); jsSort(); writeDat(); } readDat() { FILE *in; int i;

in=fopen(\\\

for(i=0; i<200; i++) fscanf(in,\\\ fclose(in); } writeDat() { FILE *out; int i; clrscr();

out=fopen(\\\for(i=0; i<10; i++){

printf(\\\fprintf(out,\\\}

fclose(out); }

20.在文件in.dat中有200组数据,每组有3个数,每个数均是三位数。函数ReadDat()读取这200组数据存放到结构数组aa中,请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组中的第一个数大于第二个数加第三个数的之和,其中满足条件的个数作为函数jsSort() 的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第一个数加第三个之和的大小进行升序排列(第一个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数WriteDat()把结果bb输出到文件out.dat中。部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 #include #include #include

typedef struct{ int x1,x2,x3; }data;

data aa[200],bb[200];

7

data aa[200],bb[200],m; int jsSort() { int i,j,k; k=0;

for(i=0;i<200;i++) if(aa.x1>(aa.x2+aa.x3)) bb[k++]=aa; for(i=0;i

for(j=i+1;j if(bb.x1+bb.x3>bb[j].x1+bb[j].x3) { m=bb; bb=bb[j]; bb[j]=m; } return k; }

void main() { int count; readDat();

count=jsSort(); /*返回满足条件的个数*/ writeDat(count); } readDat(int count) { FILE *in; int i;

in=fopen(\\\for(i=0; i<200; i++)

fscanf(in,\\\fclose(in); }

writeDat() { FILE *out; int i; clrscr();

out=fopen(\\\for(i=0; i<10; i++){

printf(\\\第一个数+第三个数=%d\\\\n\\\

fprintf(out,\\\fclose(out); }

21.下列程序的功能是:找出所有100以内(含100)满足I,I+4,I+10都是素数的整数I(I+10也在100以内)的个数cnt以及这些I之和sum。请编写函数countvalue()实现程序要求,最后调用函数writeDat()把结果cnt和sum输出到文件out.dat中。

部分源程序已给出。请勿改动主函数main()和输出数据函数writeDat()的内容。 #include

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

int cnt, sum ;

int isPrime(int number) {

int i, tag = 1 ;

for(i = 2 ; tag && i<= number / 2 ; i++) if(number % i == 0) tag = 0 ; return tag ; }

void countvalue() { int a,b,i; for(i=3;i<90;i++) { if(isPrime(i)) { a=i+4; if(isPrime(a)) { b=i+10; if(isPrime(b)) { cnt++;

sum+=i; } } } } }

void main() {

cnt = sum = 0 ; countvalue() ;

printf(\满足条件的整数的个数=%d\\n\ printf(\满足条件的整数的和值=%d\\n\ writeDAT() ; }

writeDAT() {

FILE *fp ;

fp = fopen(\ fprintf(fp, \ fclose(fp) ; }

out.dat文件 7 201

22.下列程序的功能是:已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a数组中。找出成绩最低的学生记录(假定最低成绩的记录是唯一的),通过形参返回。请编写函数mm(STU a[],STU *s)实现程序要求,最后调用函数reawriteDAT()把结果输出到文件out.dat中。 例如: KS01 87 KS09 67 KS11 97

8

则调用该函数后,输出The lowest:KS19,67请勿改动主函数main()和输出数据函数readwriteDAT()的内容。 #include #include #include #define N 10 void readwriteDAT(); typedef struct ss

{ char num[10]; int s; } STU; mmm(STU a[], STU *s) { int i,j;

for(i=0;ia[N]={ {\\

{\1} }, m ; int i; clrscr();

printf(\ for(i=0; i< N; i++)printf(\a.num,a.s); mmm(a, &m);

printf(\

printf(\ readwriteDAT(); }

void readwriteDAT() {

FILE *rf, *wf ; STU a[N], m ; int i ;

rf = fopen(\ wf = fopen(\

for(i = 0 ; i < 10; i++) fscanf(rf, \

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

&a.s) ; mmm(a, &m) ;

fprintf (wf, \ fclose(rf) ; fclose(wf) ; }

BC7.IN文件 NUM01 88 NUM02 77 NUM03 45 NUM04 98 NUM05 97 NUM06 23 NUM07 78 NUM08 56 NUM09 65 NUM10 68 BC7.OUT文件

The lowest : NUM06, 23

23.下列程序的功能是:已知学生的记录由学号和学习成绩构成,N名学生的数据已存入

A数组中。找出成绩最高的学生记录(假定最高成绩的记录中唯一的),通过形参返回。

请考生编写函数MMM(STU A[],STU *S)实现程序的要求,最后调用函数READWRITEDAT

()把结果输出到文件OUT.DAT中. 例如: KS01 87 KS09 97 KS11 67

则调用该函数后,输出THE TOP:KS09,97 #include #include #include #define N 10 void readwriteDAT(); typedef struct ss

{ char num[10]; int s; } STU; void mmm(STU a[], STU *s) { int i,j;

for(i=0;i

for(j=i+1;j if(a.s>a[j].s) { *s=a; a=a[j]; a[j]=*s; } return a[0].s;

9

} main() { STU

a[N]={ {\\

{\1} }, m ; int i; clrscr();

printf(\ for(i=0; i

printf(\ printf(\ readwriteDAT(); }

void readwriteDAT() {

FILE *rf, *wf ; STU a[N], m ; int i ;

rf = fopen(\ wf = fopen(\

for(i = 0 ; i < 10; i++) fscanf(rf, \&a.s) ; mmm(a, &m) ;

fprintf (wf, \ fclose(rf) ; fclose(wf) ; }

BC6.IN文件 NUM01 88 NUM02 77 NUM03 45 NUM04 98 NUM05 97 NUM06 23 NUM07 78 NUM08 56 NUM09 65 NUM10 68 BC6.OUT文件

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

The top : NUM04, 98

24.下列程序的功能是:求出ss字符串中指定字符c的个数,并返回此值。请编写函数int num(*char ss,char c)实现程序要求,最后调用函数readwriteDat()把结果输出到文件out.dat中。

(注:大小写字母有区别)

例如,若输入字符串ss=\\ 123412132\\ ,c='1',则输出3。 部分源程序已给出。请勿改动主函数main()和输出数据函数writeDat()的内容。 #include #include #define M 81 void readwriteDAT(); int num(char *ss, char c) { int i,j=0;

for(i=0;i

char a[M], ch; clrscr();

printf(\ printf(\ printf(\number of the char is: %d\\n\num(a, ch)); readwriteDAT(); }

void readwriteDAT() { int i ; FILE *rf, *wf ; char a[M], b[M], ch ; rf = fopen(\ wf = fopen(\ for(i = 0 ; i < 10 ; i++) { fscanf(rf, \ fscanf(rf, \ ch = *b ;

fprintf(wf, \ }

fclose(rf) ; fclose(wf) ; }

BC5.IN文件

10

hsfgjkdgfdgfdgkfdjgkldf h

gdkljgkdfjgiotuiorsmhnfsjfsfjsef j

fksdljfksdjfksdjfkdsjfksdjfdksfdsklfjsdk k

fdsfksdfkdsl8904592 7

fkdsjfksdfjdskfjsdklfjsdfjsd f

fjsdkjfsdkljfsdklfjsdkfjsd h

kfjgldfgdflfjsdhfjskfhsjd g

dsjfksdjfkjdskfjsdkfjsdklfjsd l

adadasdasfjsdhfjdsfdsjhfsdjf a

fksdjfkdjskfjdskczxnczxmvbcvcxfdgdfg b

BC5.OUT文件 h=1 j=4 k=8 7=0 f=6 h=0 g=2 l=1 a=4 b=1

25.下列程序的功能是:把s字符串中的所有字母改写成该字母的下一个字符,字母z改写成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg(char *s)实现程序的要求,最后调用函数readwriteDat()把结果输出到文件out.dat中。例如:s字符串中原有的内容为:Mn.123Zxy,则调用该函数后,结果为No.123Ayz。部分源程序已给出。请勿改动主函数main()和输出数据函数writeDat()的内容。 #include #include #include #include #define N 81 void readwriteDAT();

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

void chg(char *s) { int i,k; k=strlen(s); for(i=0;i

if(isalpha(s)) s++; } } main( ) {

char a[N]; clrscr();

printf(\ printf(\ chg(a);

printf(\ puts (a); readwriteDAT() ; }

void readwriteDAT() { int i ; char a[N] ; FILE *rf, *wf ;

rf = fopen(\ wf = fopen(\ for(i = 0 ; i < 10 ; i++) { fscanf(rf, \ chg(a) ;

fprintf(wf, \ }

fclose(rf) ; fclose(wf) ; }

BC1.IN文件

fjkdshjksdfhjksdfhsdjkfhsdjkfhsFSDfhsdafsdgdfklreiotertre

sdjklfhsdjkfhsdjkfhjrwerioweFSDopfzxcfnweorfjsdkfhsdjkfhsdjkfhsdjkfhsd

fdslkfjklfsdkljfsdklfsdfsmfsdfsdjklfsdjfklsdfjsdfjsdkfjsdklfjsdklfjsdk

dsfhjsdkhfsdjkfhsdjfhsFSDFSDrweioruwelfsdfknsdr238945 fsdkljfdsklfjdskfjsdkjfksdfjdksfjsFSfjsdkfjsdkjfsdkfjs

11

dkfjsd

fsdjfklsdfjksdfjsdlkfjsdlkrjeiowpriwFSDFSDepxczmcmzxfmifjs

fsdlfkfjFSDFHSDJKFHSDFkljfsdkfjsdkfjsdklwe9rweiopfjZdcvmsfewiorweioc

fsdlkfjsdkljfklsdfjsdklfjsdkljfsdkjfsdklfjsdkljfsdklfjdskfjsdklfjsdklfjsd

fhsdjfkhsdjfhdsjkfhsdjfdjaskfhsdajkfjazzdsFSDFSDfhsdjfhsdz

djashdjasdhjkashdjasdhasjkdhasjkdhasjkdhasjkFSDFSDZhasjkdhas BC1.OUT文件

gkletikltegikltegiteklgiteklgitGTEgitebgteheglmsfjpufsusf

teklmgiteklgiteklgiksxfsjpxfGTEpqgaydgoxfpsgktelgiteklgiteklgiteklgite

getmlgklmgtelmkgtelmgtegtngtegteklmgtekglmtegktegktelgktelmgktelmgktel

etgikteligteklgitekgitGTEGTEsxfjpsvxfmgteglotes238945

gtelmkgetlmgketlgktelkgltegkeltgktGTgktelgktelkgtelgktelgkte

gtekglmtegkltegktemlgktemlskfjpxqsjxGTEGTEfqydandnaygnjgkt

gtemglgkGTEGITEKLGITEGlmkgtelgktelgktelmxf9sxfjpqgkAedwntgfxjpsxfjpd

gtemlgktelmkglmtegktelmgktelmkgtelkgtelmgktelmkgtelmgketlgktelmgktelmgkte

gitekglitekgietklgitekgekbtlgitebklgkbaaetGTEGTEgitekgitea

ekbtiekbteiklbtiekbteibtkleibtkleibtkleibtklGTEGTEAibtkleibt

26.下列程序的功能是:把S字符串中的所有字符左移一个位置,串中的第一个字符移到最

后.请编写函数CHG(CHAR *S)实现程序要求,最后调用函数READWRITEDAT()把结果输出到 OUT.DAT文件中.

例如:S字符串中原有内容为:MN.123XYZ,则调用函数后,结果为:N.123XYZM. #include #include #define N 81 void readwriteDAT(); void chg(char *s) { int i;

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

char c; c=s[0];

for(i=0;i

char a[ N ] ; clrscr();

printf(\ printf(\ chg(a);

printf(\ puts(a); readwriteDAT(); }

void readwriteDAT() { int i ; char a[N] ; FILE *rf, *wf ;

rf = fopen(\ wf = fopen(\ for(i = 0 ; i < 10 ; i++) { fscanf(rf, \ chg(a) ;

fprintf(wf, \ }

fclose(rf) ; fclose(wf) ; }

BC2.IN文件

fjkdshjksdfhjksdfhsdjkfhsdjkfhsFSDfhsdafsdgdfklreiotertre

sdjklfhsdjkfhsdjkfhjrwerioweFSDopfzxcfnweorfjsdkfhsdjkfhsdjkfhsdjkfhsd

fdslkfjklfsdkljfsdklfsdfsmfsdfsdjklfsdjfklsdfjsdfjsdkfjsdklfjsdklfjsdk

dsfhjsdkhfsdjkfhsdjfhsFSDFSDrweioruwelfsdfknsdr238945 fsdkljfdsklfjdskfjsdkjfksdfjdksfjsFSfjsdkfjsdkjfsdkfjsdkfjsd

fsdjfklsdfjksdfjsdlkfjsdlkrjeiowpriwFSDFSDepxczmcmzxfmifjs

fsdlfkfjFSDFHSDJKFHSDFkljfsdkfjsdkfjsdklwe9rweiopfjZdc

12

vmsfewiorweioc

fsdlkfjsdkljfklsdfjsdklfjsdkljfsdkjfsdklfjsdkljfsdklfjdskfjsdklfjsdklfjsd

fhsdjfkhsdjfhdsjkfhsdjfdjaskfhsdajkfjazzdsFSDFSDfhsdjfhsdz

djashdjasdhjkashdjasdhasjkdhasjkdhasjkdhasjkFSDFSDZhasjkdhas BC2.OUT文件

jkdshjksdfhjksdfhsdjkfhsdjkfhsFSDfhsdafsdgdfklreiotertref

djklfhsdjkfhsdjkfhjrwerioweFSDopfzxcfnweorfjsdkfhsdjkfhsdjkfhsdjkfhsds

dslkfjklfsdkljfsdklfsdfsmfsdfsdjklfsdjfklsdfjsdfjsdkfjsdklfjsdklfjsdkf

sfhjsdkhfsdjkfhsdjfhsFSDFSDrweioruwelfsdfknsdr238945d

sdkljfdsklfjdskfjsdkjfksdfjdksfjsFSfjsdkfjsdkjfsdkfjsdkfjsdf

sdjfklsdfjksdfjsdlkfjsdlkrjeiowpriwFSDFSDepxczmcmzxfmifjsf

sdlfkfjFSDFHSDJKFHSDFkljfsdkfjsdkfjsdklwe9rweiopfjZdcvmsfewiorweiocf

sdlkfjsdkljfklsdfjsdklfjsdkljfsdkjfsdklfjsdkljfsdklfjdskfjsdklfjsdklfjsdf

hsdjfkhsdjfhdsjkfhsdjfdjaskfhsdajkfjazzdsFSDFSDfhsdjfhsdzf

jashdjasdhjkashdjasdhasjkdhasjkdhasjkdhasjkFSDFSDZhasjkdhasd

27.下列程序的功能是:统计在TT字符串中'A'到'Z'26个字母各自现的次数,并存入

PP数组.请编写函数CNT(CHAR *TT,INT PP[])实现程序的要求,最后调用函数READWRITEDAT()把结果输出到文件OUT.DAT中.(仅统计小写字母.)

例如:当输入字符串:abcdefgabcdeabc后,输出的结果应该是:

3 3 3 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 #include #include

void readwriteDAT(); void cnt(char *tt, int pp[]) { int i,k=0; char c;

for(c='a';c<='z';c++) { pp[k]=0;

for(i=0;i

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

if(tt==c) pp[k]++; k++; } } main() {

char tt[1000] ; int pp[26], k, n ; clrscr() ;

printf(\tt) ;

cnt(tt, pp) ;

for (k = 0 ; k < 26 ; k++) printf (\ printf(\ readwriteDAT() ; }

void readwriteDAT() {

char tt[1000] ; int pp[26], k, n, i ; FILE *rf, *wf ;

rf = fopen(\ wf = fopen(\ for(i = 0 ; i < 10 ; i++) { fscanf(rf, \ cnt(tt, pp) ;

for(k = 0 ; k < 26 ; k++) fprintf(wf, \ fprintf(wf, \ }

fclose(rf) ; fclose(wf) ; }

BC4.IN文件

sdfhdsjkfhsdjkhfdjkashfsdjkhfwejkrhsjnmbxcvbzxbvxmbgfdsfsdfsd

dshfewrywurvczxfvxcvnmcvzvzxfsdfglsdkldsfsdkfjsdkjfksdjfdsklfjdsfsd

fsdrweiorweiursdnfzqqmvnxmcabcdfdsfsdlfjdsfsdfdskjhfoweiurweirwe

fsdfjhsdjfhsdjfhwejrhwerewuryh8432r5t3475894jsdfgsjfsdfsdfds

fdskfhsdjfhsdhfjksdhfwoierqwopzzcvzxmfsdfjsdkjfksdjfklsdjfksld

fdshfsdjfksdjfkdsjfkdsjfkdsjkfjsdkfjsdkjfkdsjfksdjfksdjfsd

fsdfsdfkdsjfksdjfksdjfkdsjkfjsdkjfdskjfsdjfksdjfksdjfs

13

d

fsdkfjsdkjfksdjfksdjfksdjfksdjfksdjfksdjfkdsjfksdjfsdkjfsdkl

fsdkfjsdkfjksdjfsdkfjsdkjfsdkuioewuriesdmvnsdrfhsdsdvcjhsdfseoisd

sdjkhfsjdkhfjsdhfuwersdcvxzzzzzfgsssjdggggsvnnbxcdsaaagsngsdfhfd BC4.OUT文件

1 4 1 8 1 8 1 6 0 6 5 0 2 1 0 0 0 1 9 0 0 2 1 3 0 1 0 0 3 10 1 10 1 1 0 4 5 3 1 1 0 0 0 2 10 0 1 5 2 3 1 3 1 1 2 8 5 8 0 1 4 2 1 1 2 2 2 0 2 5 7 0 2 1 5 1 0 1 0 0 0 7 3 8 1 5 0 6 0 0 0 0 0 0 0 4 8 1 1 0 3 0 1 0 0 0 1 9 1 10 0 4 1 6 6 2 1 0 2 1 1 1 9 0 0 1 2 1 0 3 0 0 0 12 0 12 0 1 0 11 10 0 0 0 0 0 0 0 12 0 0 0 0 0 0 0

0 0 0 12 0 12 0 0 0 10 9 0 0 0 0 0 0 0 12 0 0 0 0 0 0 0

0 0 0 12 0 12 0 0 0 11 12 1 0 0 0 0 0 0 12 0 0 0 0 0 0 0

0 0 1 12 3 8 0 2 3 6 6 0 1 1 2 0 0 2 13 0 2 2 1 0 0 0 3 1 2 8 1 6 7 4 0 4 2 0 0 3 0 0 0 1 11 0 1 2 1 2 0 5 28.下列程序的功能是:设A,B,C为三个不零的正整数,计算并输出下列不定方程组解

的个数CNT以及满足此条件的所有A,B,C之和SUM。 不定方程组为: A+B+C=13 A-C=5

请编写函数COUNTvalue()实现程序要求,最后调用函数WRITEDAT()把结果CNT和SUM输出到文件OUT.DAT中. #include int cnt, sum ; void countvalue() { int a,b,c; for(a=1;a<13;a++) { for(b=1;b<13;b++) { for(c=1;c<13;c++)

{ if((a+b+c==13)&&(a-c==5)) { cnt++;

sum+=a+b+c; } } } } }

void main() {

cnt = sum = 0 ; countvalue() ;

printf(\满足条件的个数=%d\\n\

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

printf(\满足条件所有的A,B,C之和=%d\\n\ writeDAT() ; }

writeDAT() {

FILE *fp ;

fp = fopen(\ fprintf(fp, \ fclose(fp) ; }

BC8.OUT文件 3 39

29.下列程序的功能是:选取出100以上1000以内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。计算并输出上述这些素数的个数CNT以及这些素数值的和SUM。请编写函数COUNTvalue()实现程序要求,最后调用函数WRITEDAT()把结果CNT和SUM输出到文件OUT.DAT中. #include int cnt, sum ; int SS(int m) { int i,k=1; for(i=2;i

for(i=100;i<1000;i++) { if(SS(i)) { a=(i0)/10; b=i; c=i/100; if((a+b)==c) { cnt++; sum+=i; } } } }

void main() {

cnt = sum = 0 ; countvalue() ;

printf(\素数的个数=%d\\n\ printf(\满足条件素数值的和=%d\ writeDAT() ; }

writeDAT()

14

{

FILE *fp ;

fp = fopen(\ fprintf(fp, \ fclose(fp) ; }

BC10.OUT文件 15 6825

30.下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请编写函数num(int m,int k,int xx[])实现程序的要求,最后调用函数readwriteDat()把结果输出到文件out.dat中。

例如:若输入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 i=0;

for(m=m+1;k>0;m++) if(isP(m)) { xx[i++]=m; k--; } } main() {

int m, n, xx[1000] ; clrscr() ;

printf(\ scanf(\ num(m, n, xx) ;

for(m = 0 ; m < n ; m++) printf(\ printf(\ readwriteDAT() ; }

void readwriteDAT()

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

{

int m, n, xx[1000], i ; FILE *rf, *wf ;

rf = fopen(\ wf = fopen(\ for(i = 0 ; i < 10 ; i++) { fscanf(rf, \ num(m, n, xx) ;

for(m = 0 ; m < n ; m++) fprintf(wf, \ fprintf(wf, \ }

fclose(rf) ; fclose(wf) ; }

BC3.IN文件 17 5 101 7 321 5 32 4 55 6 76 6 99 4 781 5 22 6 66 3 BC3.OUT文件 19 23 29 31 37

103 107 109 113 127 131 137 331 337 347 349 353 37 41 43 47 59 61 67 71 73 79 79 83 89 97 101 103 101 103 107 109 787 797 809 811 821 23 29 31 37 41 43 67 71 73

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

15

部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 #include #include #include #include #include #define MAX 100 typedef struct{

char dm[5]; /*产品代码*/ char mc[11]; /*产品名称*/ int dj; /*单价*/ int sl; /*数量*/ long je; /*金额*/ }PRO;

PRO sell[MAX]; void ReadDat(); void WriteDat(); void SortDat() { int i,j; PRO c;

for(i=0;i

{ if(strcmp(sell.dm,sell[j].dm)<0) { c=sell; sell=sell[j]; sell[j]=c; } else

if(strcmp(sell.dm,sell[j].dm)==0) if(sell.je

void main()

{ memset(sell,0,sizeof(sell)); ReadDat(); SortDat(); WriteDat(); } void ReadDat() {FILE *fp;

char str[80],ch[11]; int i;

fp=fopen(\\\for(i=0;i<100;i++){

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

fgets(str,80,fp); memcpy(sell.dm,str,4); memcpy(sell.mc,str+4,10); memcpy(ch,str+14,4);ch[4]=0; sell.dj=atoi(ch);

memcpy(ch,str+18,5);ch[5]=0; sell.sl=atoi(ch);

sell.je=(long)sell.dj*sell.sl;} fclose(fp);} void WriteDat(void) {FILE *fp; int i;

fp=fopen(\\\for(i=0;i<100;i++){ fprintf(fp,\\\%s

M

]

1d\\\\n\\\

sell.dm,sell.mc,sell.dj,sell.sl,sell.je);}

fclose(fp);}\

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

部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void SortDat() { int i,j; PRO c;

for(i=0;i

{ if(strcmp(sell.mc,sell[j].mc)<0) { c=sell; sell=sell[j]; sell[j]=c; } else

if(strcmp(sell.mc,sell[j].mc)==0) if(sell.je>sell[j].je) { c=sell; sell=sell[j]; sell[j]=c; } } }

33..已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10

16

位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。

部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void SortDat() { int i,j; PRO c;

for(i=0;i

{ if(strcmp(sell.mc,sell[j].mc)<0) { c=sell; sell=sell[j]; sell[j]=c; } else

if(strcmp(sell.mc,sell[j].mc)==0) if(sell.je

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

部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void SortDat() { int i,j; PRO c;

for(i=0;i

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

if(sell.je==sell[j].je)

if(strcmp(sell.dm,sell[j].dm)<0) { c=sell; sell=sell[j];

sell[j]=c; } } }

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

部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void SortDat() { int i,j; PRO c;

for(i=0;i

{ if(strcmp(sell.mc,sell[j].mc)<0) { c=sell; sell=sell[j]; sell[j]=c; } else

if(strcmp(sell.mc,sell[j].mc)==0) if(sell.je

sell[j]=c; } } }

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

部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void SortDat() { int i,j; PRO c;

17

for(i=0;i

if(sell.je==sell[j].je)

if(strcmp(sell.dm,sell[j].dm)<0) { c=sell; sell=sell[j]; sell[j]=c; } } }

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

部分源程序已给出。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void SortDat() { int i,j; PRO c;

for(i=0;i

for(j=i+1;j { if(sell.je>sell[j].je) { c=sell; sell=sell[j]; sell[j]=c; } else

if(sell.je==sell[j].je)

if(strcmp(sell.dm,sell[j].dm)<0) { c=sell; sell=sell[j]; sell[j]=c; } } }

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

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

输出到文件OUT1.DAT中。部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void SortDat() { int i,j; PRO c;

for(i=0;i

for(j=i+1;j { if(sell.je>sell[j].je) { c=sell; sell=sell[j]; sell[j]=c; } else

if(sell.je==sell[j].je)

if(strcmp(sell.dm,sell[j].dm)>0) { c=sell; sell=sell[j];

sell[j]=c; } } }

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

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void SortDat() { int i,j; PRO c;

for(i=0;i

if(sell.je==sell[j].je)

if(strcmp(sell.dm,sell[j].dm)>0) { c=sell; sell=sell[j];

sell[j]=c; } } }

38.已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分

18

组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT5.DAT中。部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void SortDat() { int i,j; PRO c;

for(i=0;i

for(j=i+1;j { if(strcmp(sell.mc,sell[j].mc)>0) { c=sell; sell=sell[j]; sell[j]=c; } else

if(strcmp(sell.mc,sell[j].mc)==0) if(sell.je>sell[j].je) { c=sell; sell=sell[j]; sell[j]=c; } } }

39.已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT7.DAT中。部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void SortDat() { int i,j; PRO c;

for(i=0;i

{ if(strcmp(sell.mc,sell[j].mc)<0) { c=sell; sell=sell[j]; sell[j]=c; } else

if(strcmp(sell.mc,sell[j].mc)==0) if(sell.je>sell[j].je)

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

{ c=sell; sell=sell[j];

sell[j]=c; } } }

40.已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT9.DAT中。部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void SortDat() { int i,j; PRO c;

for(i=0;i

for(j=i+1;j { if(strcmp(sell.dm,sell[j].dm)>0) { c=sell; sell=sell[j]; sell[j]=c; } else

if(strcmp(sell.dm,sell[j].dm)==0) if(sell.je>sell[j].je) { c=sell; sell=sell[j];

sell[j]=c; } } }

41.请编写一个函数jsvalue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。例如:若输入17,5,则应输出:19,23,29,31,37。请勿改动主函数main()和写函数writeDat()的内容。 #include int ss(int k) { int i,j; j=1;

for(i=2;i if(k%i==0) j=0; return j; }

void jsvalue(int m,int k,int xx[]) { int i=0;

for(m=m+1;k>0;m++) if(ss(m)) { xx[i++]=m; k--; } }

19

main()

{int m,n,zz[100];

printr(\\\请输入两个整数:\\\; scanf(\\\jsvalue(m,n,zz);

for(m=0;m

{int m,n,zz[100],i; FILE *.in,*out;

in=fopen(\\\out=fopen(\\\for(i=0;i<10;i++){ fscanf(in,\\\jsvalue(m,n,zz);

for(m=0;m

42.在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。最后调用函数writeDat()把结果输出到文件out.dat中。请勿改动主函数main()和写函数writeDat()的内容。 #include

int jsvalue(int bb[]) { int i,j,a,b,c,k=0; for(i=10;i<32;i++) { j=i*i; a=j/100; b=(j0)/10; c=j;

if((a==b)||(a==c)||(b==c)) bb[k++]=j; } return k; } main()

{int b[20],num; num=jsvalue(b); writeDat(num,b);} writeDat(int num,int b[]) {FILE *out;

制作:风雨夜归人 qq:619300780

2008年计算机三级网络上机南开100题(完整版)

int i;

out=fopen(\\\fprintf(out,\\\

for(i=0;i

43.在文件中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。 例:处理前 9012 5099 6012 7025 8088 处理后 5099 8088 7025 6012 9012

部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 void jsSort() { int i,j,a,b,k; for(i=0;i<200;i++) for(j=i+1;j<200;j++) { a=aa00; b=aa[j]00; if(a { k=aa; aa=aa[j]; aa[j]=k; } if(a==b) if(aa>aa[j]) { k=aa; aa=aa[j];

aa[j]=k; } }

for(i=0;i<10;i++) bb=aa; }

44.在文件in.dat中有200组数据,每组有3个数,每个数均是三位数。函数ReadDat()读取这200组数据存放到结构数组aa中,请编制函数jsSort(),其函数的功能是:要求在200组

20

数据中找出条件为每组中的第二个数大于第一个数加第三个数的之和,其中满足条件的个数作为函数jsSort() 的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第二个数加第三个之和的大小进行降序排列(第二个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数WriteDat()把结果bb输出到文件out.dat中。部分源程序已给出。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 #include #include #include typedef struct{ int x1,x2,x3; }data;

data aa[200],bb[200]; int jsSort() { int i,j,m=0; data k;

for(i=0;i<200;i++) if(aa.x2>(aa.x1+aa.x3)) bb[m++]=aa; for(i=0;i

if((bb.x2+bb.x3)<(bb[j].x2+bb[j].x3)) { k=bb; bb=bb[j]; bb[j]=k; } return m; }

void main() {int count; readDat();

count=jsSort(); /*返回满足条件的个数*/ writeDat(count);}

45.下列程序的功能是:将一正整数序列{K1,K2,...,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。要求编写函数jsvalue()实现此功能,最后调用writeDat()函数所新序列输出到文件out.dat中。说明:在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。

例:序列{6,8,9,1,2,5,4,7,3} 经重排后成为{3,4,5,2,1,6,8,9,7}

部分源程序已给出。请勿改动主函数main()和写函数

制作:风雨夜归人 qq:619300780

本文来源:https://www.bwwdw.com/article/0xlt.html

Top