2022年江苏省高校计算机等级考试二级C语言上机真题的答题要点 .pdf

上传人:Q****o 文档编号:24710671 上传时间:2022-07-06 格式:PDF 页数:18 大小:96.19KB
返回 下载 相关 举报
2022年江苏省高校计算机等级考试二级C语言上机真题的答题要点 .pdf_第1页
第1页 / 共18页
2022年江苏省高校计算机等级考试二级C语言上机真题的答题要点 .pdf_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《2022年江苏省高校计算机等级考试二级C语言上机真题的答题要点 .pdf》由会员分享,可在线阅读,更多相关《2022年江苏省高校计算机等级考试二级C语言上机真题的答题要点 .pdf(18页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、江苏省高校电脑等级考试二级C 语言上机真题第 1 页 共 18 页【上机题命题及答题要点】1、近年来江苏省高校上机题目难度有所下降。本轮上机命题的难度系数与全国电脑等级考试二级C 语言接近。2、 改错题通常有34 个错误。错误分为两大类,一类是语法出错,这类错误比较查错和容易修改,即在编译时报的错误。另一类是结果出错,即程序的算法出错,这类错误需认真审题。3、 编程题必须掌握C 语言的文件,应熟悉文件指针的定义,文件的打开及文件的输入输出。编程题的固定框架。必须记忆。以C01 的编程为例。#include /*库函数 exit(0)需要 */ #include /* 定义文件指针时需要的头文件

2、*/ .int palindrome(char *str, char *r) void main() FILE *fp; 所有数据类型的说明和定义if(fp=fopen(t:myf2.out,w)=NULL) printf(nCant open the file!); exit (0); 函数调用具体问题具体分析结果输出printf(nMy number is:120992340n); fprintf(fp,nMy number is:1292340n); fclose(fp); 4、 必须熟悉常用算法。5、 江苏省高校电脑二级C 语言上机编程题常考问题:字符串相关问题、素数相关问题、回文数相

3、关问题、矩阵二维数组相关问题、特殊数问题如,合数、真因子或质因子之和、水仙花数、亲密数、完数、数制转换、哥德巴赫猜想等。6、掌握文件输出操作标准形式。【2013 年 3 月江苏省等考上机真题解析】函数编程,按【编程要求】1.编写函数int palindrome(char *str, char *r) 。 . 要点:函数首部完整照抄。参数为指针时,假设对指针不熟悉,在函数体内可以按数组编程。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 18 页江苏省高校电脑等级考试二级C 语言上机真题第 2 页 共 18 页江苏省高等学校非电脑专业学生

4、(C01) 电脑基础知识和应用能力等级考试上机试卷二级C 语言(试卷代号 C01) 本试卷完成时间70 分钟一、改错题16 分【程序功能】判断一个NN 方阵 N 为奇数是否为魔方阵。魔方阵的判定条件是:方阵中每行、每列、主对角线及副对角线上的数据之和均相等。例如,以下方阵中,主对角线的数据是8、 5、2 之和是 15,副对角线上的数据6、5、4 之和也是15,并且每行、每列数据之和15,因此该项方阵是魔方阵。8 1 6 3 5 7 4 9 2 【测试数据与运行结果】屏幕输出:8 1 6 3 5 7 4 9 2 The Array x is a magic square. 1 2 3 5 6 4

5、 9 8 7 The Array x isn t a magic square.【含有错误的源程序】以下源程序已保存在T 盘 myf1.c 文件内,考生可直接打开该文件测试程序。#include #include #include #define N 3 void fun(int (*a)N) int i,j,m1,m2,row,colum; m1=m2=0; for(i=0; iN; i+) m1+=aii; m2+=aiN-i-1; if(m1!=m2) return 0; for(i=0; iN; i+) row=colum=i; for(j=0; jN; j+) row+=aij; c

6、olum+=aji; if(row!=colum)|(row!=m1) return 0; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 18 页江苏省高校电脑等级考试二级C 语言上机真题第 3 页 共 18 页 return 1; void print(int xN) int i,j; for(i=0; iN; i+) for(j=0; jN; j+) printf(%3d,xij); printf(n); int main() int xN,N=8,1,6,3,5,7,4,9,2,yN,N=1,2,3,5,6,4,9,8,7; p

7、rint(x); if(fun(x) printf(The Array x is a magic square.n); else printf(The Array x isnt a magic square.n); print(y); if(fun(y) printf(The Array y is a magic square.n); else printf(The Array y isnt a magic square.n); getch(); return 0; 【要求】1.打开 T 盘中 myfl.c 文件或将上述程序录入到myf1.c 文件中,根据题目要求及程序中语句之间的逻辑关系对程

8、序中的错误进行修改。2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。3.改正后的源程序文件名myfl.c 保存在T 盘的根目录中供阅卷使用,否则不予评分。【解析】#include #include /* 该头文件是调用getch()函数需要的 */ #include #define N 3 int fun(int (*a)N) /1、函数要求调用有返回值,void fun(int (*a)N)函数类型设置错误 int i,j,m1,m2,row,colum; m1=m2=0; for(i=0; iN; i+) m

9、1+=aii; m2+=aiN-i-1; if(m1!=m2) return 0; for(i=0; iN; i+) row=colum=i; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 18 页江苏省高校电脑等级考试二级C 语言上机真题第 4 页 共 18 页for(j=0; jN; j+) row+=aij; colum+=aji; if(row!=colum)&(row!=m1) /2、逻辑表达式出错:(row!=colum)|(row!=m1) return 0; return 1; void print(int xN) i

10、nt i,j; for(i=0; iN; i+) for(j=0; jN; j+) printf(%3d,xij); /3、输出格式出错:printf(%3d,xij );printf(n); int main() int xNN=8,1,6,3,5,7,4,9,2,yNN=1,2,3,5,6,4,9,8,7; /4、数组下标定义出错:xN,N 和 yN,Nprint(x); if(fun(x) printf(The Array x is a magic square.n); else printf(The Array x isnt a magic square.n); print(y); i

11、f(fun(y) printf(The Array y is a magic square.n); else printf(The Array y isnt a magic square.n); getch(); return 0; 二、编程题24 分【程序功能】检查一个字符串中中所有数字字符所对应整数例如,字符1所对应的整数为1,其他依次类推之和是否为 3 的倍数; 判断该字符串是否回文字符串回文字符串: 正序和倒序相同的字符串。例如,ab121ba是回文字符串 。【编程要求】1、编写函数int palindrome(char *str, char *r) 。函数功能: 检查 str 指向的

12、字符串中所有数字字符所对应的整数之和是否为3 的倍数,假设是则将yes存储到 r 指向的数组中,否则将no 存储到 r 指向的数组中 .判断 str 指向的字符串是否是回文字符串,假设是则函数返回1,否则返回0。2、编写函数main()。函数功能:声明字符型数组a 和 r,输入一个字符串到a 数组,用a、 r 作实寻调用 palindrome 函数,假设字符串中所有数字字符所对应的整数之和是3 的倍数且字符串双是回文字符串,则输出该字符串及yes到屏幕及数据文件myf2.out中,否则输出no 到屏幕及数据文件myf2.out 中。最后将考生本人的准考证号字符串输出到文件myf2.out 中。

13、精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 18 页江苏省高校电脑等级考试二级C 语言上机真题第 5 页 共 18 页【测试数据与运行结果】测试数据: 33abbba66 屏幕输出:no 测试数据: 12abcba21 屏幕输出:yes 【要求】1.源程序文件名为myf2.c ,输出结果文件名为myf2.out 。2.数据文件的打开、使用、关闭均用C 语言标准库中文件操作函数实现。3.源程序文件和运行结果文件均需保存到T 盘上,供阅卷使用。4.不要复制扩展名为obj 和 exe 的文件到 T 盘上。【编程题解题思路】编程的关键是知道

14、库函数所需要的相应的头文件名。除主函数和函数palindrome 外,根据C 语言模块化设计特点,增加了能判断一串字符串是否是回文字符串的自编函数int Judger(char a) ,其中判断回文字符串的函数必须要熟记之,与此同时也要记住判断回文数 (data_palindrome)和回文素数的通用函数:#include int data_palindrome(long s) long k=s,h=0; while(k) h=h*10+k%10,k/=10; if(h=s) return 1; return 0; int main() long a; scanf(%ld,&a); if(da

15、ta_palindrome(a) printf(%ld is palindrome,a); else printf(%ld isnt palindrome,a); 【编程题解答: myf2.c】#include #include /库函数 strlen()需要#include /库函数 isdigit() 、strcpy()需要,书P386int Judger(char a) /判断字符串a是否是回文字符串的通用函数精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 18 页江苏省高校电脑等级考试二级C 语言上机真题第 6 页 共 18 页

16、 int n=0,i,j; n=strlen(a); for(i=0,j=n-1;ij;i+,j-) if(ai!=aj) return 0; return 1; int palindrome(char *str, char *r) int i=strlen(str)-1,j=0,m=0; while(stri!=-1) /计算字符串str 中数字字符的数字量值之和 if(isdigit(stri) m+=(stri-48); i-; if(m%3=0&Judger(str) /满足字符串的数字量之和是3 的倍数和回文字符串时返回1,并将yes 存入数组元素 strcpy(r,yes);j+;

17、 return 1; else /不满足字符串的数字量之和是3 的倍数和回文字符串时返回0,并将 no 存入数组元素 strcpy(r,no); j+; return 0; void main() FILE *fp; int i; char a210=33abbba66,12abcba21,r210; if(fp=fopen(t:myf2.out,w)=NULL) printf(nCant open the file!); exit (0); for(i=0;i2;i+) if(palindrome(ai,ri) printf(n%sn%s,ai,ri),fprintf(fp,n%sn%s,a

18、i,ri); else printf(n%sn%s,ai,ri),fprintf(fp,n%sn%s,ai,ri); printf(nMy number is:120992340n); fprintf(fp,nMy number is:1292340n);fclose(fp); /*操作结束,关闭文件fp */ 蓝色的内容需记忆,并且printf函数与 fprintf函数写在一起,用逗号分隔,这样程序不容易精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 18 页江苏省高校电脑等级考试二级C 语言上机真题第 7 页 共 18 页江苏省高等

19、学校非电脑专业学生(C04) 电脑基础知识和应用能力等级考试上机试卷二级C 语言(试卷代号 C04) 本试卷完成时间70 分钟一、改错题16 分【程序功能】子串查找并替换。函数 substition 的功能是在 s指向的字符串简称s 串中查找 t 指向的子串简称 t 串 ,并用 g 指向的字符串简称g 串替换 s串中所有的 t 串。【测试数据与运行结果】测试数据:s: aaacdaaaaaaaefaaaghaa t: aaa g: 22屏幕输出:22cd2222aef22ghaa 【含有错误的源程序】以下源程序已保存在T 盘 myf1.c 文件内,考生可直接打开该文件测试程序。#include

20、 #include #include void substitution(char*,char*,char*); int main() char s80= aaacdaaaaaaaefaaaghaa,t2=aaa,g=22; puts(s); substitution(s,t,g); puts(s); getch(); void substitution(char *,char *,char *) ; int i,j,k; char temp80; for(i=0;si=0;i+) for(j=i,k=0;sj=tk&tk!=0;j+,k+); if(tk=0) temp=s+j; strcp

21、y(s+i,g); strcat(s,temp); i+=strlen(g)-1; 【要求】1打开 T 盘中 myfl.c 文件或将上述程序录入到myf1.c 文件中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 18 页江苏省高校电脑等级考试二级C 语言上机真题第 8 页 共 18 页不能增加其它语句,也不能删去整条语句。3 改正后的源程序文件名myfl.c 保存在T 盘的根目录中

22、供阅卷使用,否则不予评分。二、编程题24 分【程序功能】在一组数值不全全的整数中查找次大数。【编程要求】1、编写函数int findsecmax(int data, int count)。函数功能:在data数组的前count 个整数中查找次大数。2、编写函数main()。函数功能:声明一个整型数组a 并用测试数据初始化,用数组a 及数组元素个数作实参调用findsecmax 函数找出次大数,然后将原数组及次大数输出到屏幕及数据文件myf2.out中。最后将考生本人的准考证号字符串输出到文件myf2.out 中。【测试数据与运行结果】测试数据: 1,9,2,8,3,7,4,6,10,10 屏幕

23、输出:1 9 2 8 3 7 4 6 10 10 Sec_max: 9 【要求】1.源程序文件名为myf2.c,输出结果文件名为myf2.out 。2.数据文件的打开、使用、关闭均用C 语言标准库中文件操作函数实现。3.源程序文件和运行结果文件均需保存到T 盘上,供阅卷使用。4.不要复制扩展名为obj 和 exe的文件到T 盘上。【改错题解答: myf1.c】此题比较简单。按照标准,原程序存在6 个错误,所以每个错误,假设改正,则得3分。实际命题教师只认 4 个错误: 1、 2、5、6,此时每题4 分。#include #include #include void substitution(c

24、har*s,char*t,char*g);/1、自定义函数的声明语句出错void substitution(char*,char*,char*);int main() char s80= aaacdaaaaaaaefaaaghaa,t4=aaa,g3=22; /2、字符串数组下标填写为大于或等于字符数加 1 puts(s); substitution(s,t,g); puts(s); getch(); return 0; /3、主函数有类型定义,在TC30 编译时必须有返回语句 void substitution(char *s,char *t,char *g) /4 、自 定义 函 数的 函

25、数 头出 错void substitution(char*,char*,char*); int i,j,k; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 18 页江苏省高校电脑等级考试二级C 语言上机真题第 9 页 共 18 页char temp80; for(i=0;si!=0;i+) /5、循环语句终结条件出错:si=0 。否则不执行循环语句 for(j=i,k=0;sj=tk&tk!=0;j+,k+); if(tk=0) strcpy(temp,s+j); /6、字符串赋值用库函数strcpy:temp=s+j;strcpy(

26、s+i,g); strcat(s,temp); i+=strlen(g)-1; 【编程题解答: myf2.c】解题思路:。编程的关键是需要知道库函数所需要的相应的头文件名。此题较简单。#include int findsecmax(int data, int count) int i, j=0,secmax=0,max=data0,b10; for(i=1;imax) max=datai; for(i=0;icount;i+) /排除最大值后的整数数据放入临时数组bif(datai!=max) bj+=datai; for(i=0;isecmax) secmax=datai; return s

27、ecmax; void main() FILE *fp;int i,a20=1,9,2,8,3,7,4,6,10,10,count=10,sec_max; if(fp=fopen(myf2.out,w)=NULL) printf(nCant open the file!); exit (0); sec_max=findsecmax(a,count); for(i=0;icount;i+) printf(i+1)%5=0?%4dn:%4d,ai),fprintf(fp,i%5=0?%4dn:%4d,ai); printf(nsec_max:%4d,sec_max),fprintf(fp, nse

28、c_max:%4d,sec_max); printf(nMy number is:120992340n); fprintf(fp,nMy number is:1292340n); fclose(fp); /*操作结束,关闭文件fp */ 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 18 页江苏省高校电脑等级考试二级C 语言上机真题第 10 页 共 18 页江苏省高等学校非电脑专业学生(C05) 电脑基础知识和应用能力等级考试上机试卷二级C 语言(试卷代号 C05) 本试卷完成时间70 分钟一、改错题16 分【程序功能】找出找出所有符

29、合条件的数列: 由 6 个素数组成; 数列中每一项的值在7360 之间;数列是一个公差为30 的等差数列。简称这样的数列为等差素数数列。例如,7 37 67 97 127 157 就是符合上述条件的一个等差素数数列。函数 series将 xy 范围内所有符合上述条件的等差素数数列依次保存到a 指向的二维数组中一行保存一个数列 。【测试数据与运行结果】屏幕输出:7 37 67 127 157 107 137 167 197 227 257 【含有错误的源程序】以下源程序已保存在T 盘 myf1.c 文件内,考生可直接打开该文件测试程序。#include #include #include int

30、 prime(int n;) int i; for(i=2;i=(int)sqrt(n);i+) if(n%i=0) return 0; return 1; int series(int a6,int x,int y) int d=30,i=0,n=x,j,f; while(n=2|prime(n) n+; while(ny-5*d) f=1; for(j=0;j6; j+) if(prime(n+j*d)=0) f=0; break; if(f) for(j=0;j6;j+) aij=n+j*d; i+; n+=2; return i; int main() 精选学习资料 - - - - -

31、 - - - - 名师归纳总结 - - - - - - -第 10 页,共 18 页江苏省高校电脑等级考试二级C 语言上机真题第 11 页 共 18 页 int a306,i,j,count; count=series(int a6,7,360); for(i=0;icount;i+) for(j=0;j6;j+) printf(%5d,aij); printf(n); getch(); return 0; 【要求】1.打开 T 盘中 myfl.c 文件或将上述程序录入到myf1.c 文件中, 根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2.改错时,可以修改语句中的一部分内容

32、,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。3.改正后的源程序文件名myfl.c 保存在T 盘的根目录中供阅卷使用,否则不予评分。二、编程题24 分【程序功能】将一个字符串中所有数字字符顺序交移,其他字符顺序后移,生成一个新的字符串。【编程要求】1、编写函数void move(char *s) 。函数功能:将s指向的字符串中所有数字字符顺序前移,其他字符顺序后移,所生成的新字符串仍然存放在s 指向的数组中。2、 编写函数main()。函数功能: 声明一个字符型数组s 并用测试数据初始化,用 s 作实参调用move 函数,将结果字符串输出到屏幕及数

33、据文件myf2.out中。最后将考生本人的准考证号字符串输出到文件 myf2.out 中。【测试数据与运行结果】测试数据: asd123fgh5#43df 屏幕输出: 123543asdfgh#df 【要求】1.源程序文件名为myf2.c,输出结果文件名为myf2.out 。2.数据文件的打开、使用、关闭均用C 语言标准库中文件操作函数实现。3.源程序文件和运行结果文件均需保存到T 盘上,供阅卷使用。4.不要复制扩展名为obj 和 exe的文件到T 盘上。【改错题解答: myf1.c】按照标准,原程序存在3 个错误,所以每个错误,假设改正,则得4、8、4 分。第 2 个错误是本改错题关键所在。

34、其分值较高。该段程序的目的是确保初始值n 是素数。读者也可用实参a,4,360 去试验, 同样可得相同结果。但考生一般会修改为while(a=0&prime(n),这样用实参a,4,360 去试,则使下面程序为死循环,对此要扣8 分的。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 18 页江苏省高校电脑等级考试二级C 语言上机真题第 12 页 共 18 页#include #include #include int prime(int n) /1、函数的形参出错int n;int n int i; for(i=2;i=(int)sq

35、rt(n);i+) if(n%i=0) return 0; return 1; int series(int a6,int x,int y) int d=30,i=0,n=x,j,f; while(!prime(n) /2、逻辑表达式出错n=2|prime(n) !prime(n) ,不改则造成下面程序死循环n+; /其实这段循环目的是确保n 是素数。while(ny-5*d) f=1; for(j=0;j6; j+) if(prime(n+j*d)=0) f=0; break; if(f) for(j=0;j6;j+) aij=n+j*d; i+; n+=2; return i; int m

36、ain() int a306,i,j,count; count=series(a,7,360); /3、函数调用的实参出错:int a6,7,360 a,7,360for(i=0;icount;i+) for(j=0;j6;j+) printf(%5d,aij); printf(n); getch(); return 0; 【编程题解题思路】精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 18 页江苏省高校电脑等级考试二级C 语言上机真题第 13 页 共 18 页此题解题思路是挑字符串s 中数字字符存入数组a;其余数字存入数组b,最后

37、将其合并,再由合并后的字符串复制入形参数组s。其次是,需要知道库函数所需要的相应的头文件名,下面一一予以注释。【编程题解答: myf2.c】#include #include /库函数 strcat()和 strcpy()需要#include /库函数 isdigit() 需要#include /库函数 exit(0) 需要#include /库函数 getch()需要void move(char *s) int i=0, j=0,k,m=strlen(s); char a20,b20; for(k=0;km;k+) if(isdigit(sk) ai+=sk; /数字串 s中数字字符顺序存入

38、数组aelse bj+=sk; /其余字符顺序存入数组b ai=0; bj=0; /加字符串的截止符 strcat(a,b); /变化后字符全部存入数组astrcpy(s,a); void main() char s20=asd123fgh5#43df; FILE *fp; if(fp=fopen(myf2.out,w)=NULL) printf(nCant open the file!); exit (0); move(s); printf(n%s,s),fprintf(fp, n%s,s); printf(nMy number is:120992340n); fprintf(fp,nMy

39、number is:1292340n); fclose(fp); /*操作结束,关闭文件fp 书 P334 */ getch(); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 18 页江苏省高校电脑等级考试二级C 语言上机真题第 14 页 共 18 页江苏省高等学校非电脑专业学生(C06) 电脑基础知识和应用能力等级考试上机试卷二级C 语言(试卷代号 C06) 本试卷完成时间70 分钟一、改错题16分【程序功能】任何一个合数都可以成假设干个质因数相乘的形式,例如,120=2 2 2 3 5。以下程序实现将输入的一个合数分解成质因数

40、相乘的形式,其中,函数 fun 的功能是分解num 的质因数,将得到的全部质因数存放在a 指向的数组中,质因数的个数通过指针count带回主函数。【测试数据与运行结果】测试数据:n=120 屏幕输出:120=2 2 2 3 5 【含有错误的源程序】以下源程序已保存在T 盘 myf1.c 文件内,考生可直接打开该文件测试程序。#include #include int prime(int n) int i; for(i=1;i=n/2;i+) if (n%i=0) return 0; return 1; void fun(int a, int num, int *count) int b50=2

41、,k=1,i=0,j=0,n; for(n=3;n50;n+=2) /* 将 50 以内的质数按值从小到大顺序存放到b 数组*/ if(prime(n)=1) bk+=n; while(num!=1&j0) fun(a20,n,&count); printf(%d=%dn,n,a0); for(i=1;i5?i=sqrt(n):in;i+) if(n%i=0) return 0; return 1; #include #include int prime(int n) /*原题说明:该段程序功能是判断n 是否是素数 */ int i; for(i=2;i=n/2;i+) /1、循环语句第一表达

42、式出错:i=1 i=2if (n%i=0) return 0; return 1; void fun(int a,int num,int *count) int b50=2,k=1,i=0,j=0,n; for(n=3;n50;n+=2) /*原题说明:将50 以内的质数按值从小到大顺序存放到b 数组*/ if(prime(n)=1) bk+=n; /2、关系表达式出错:prime(n)=1 prime(n)=1 或 prime(n) while(num!=1&j0) /原题说明:合数不是质数:!prime(n)&n0 精选学习资料 - - - - - - - - - 名师归纳总结 - - -

43、 - - - -第 16 页,共 18 页江苏省高校电脑等级考试二级C 语言上机真题第 17 页 共 18 页 fun(a,n,&count); /3、函数调用时实参出错:a20,n,count a,n,&count,其中a 和 count 调用后要求返回printf(%d=%d,n,a0); /4、连续输出,错误是printf(%d=%dn,n,a0);for(i=1;i” 。排序采用简单汽泡升序法,不建议采用选择法、双向汽泡法等。其次是,需要知道库函数所需要的相应的头文件名,下面一一予以注释。【编程题解答: myf2.c】#include #include /库函数 exit(0) 需要#

44、include /库函数 getch()需要#define M 3 #define N 4 struct student char num20,name20; /*学号、 */ float score; /* 课程成绩 */ ; void merge(struct student a, int ma, struct student b, int mb, struct student c) struct student temp; int i,j,k=0; for(i=0;ima;i+) /结构体数组a 全部存入结构体数组c ck+=ai; for(i=0;imb;i+) /结构体数组b 追加到

45、结构体数组c ck+=bi; for(i=0;i=k-1;i+) /采用简单汽泡排序法进行对结构体数组c 升序排列for(j=0;jcj+1.score) temp=cj;cj=cj+1;cj+1=temp; void main() struct student aM=2,Li,81,1,Ma,83,4,Zhao,85; struct student bN=7,Zhang,80,3,Guo,84,5,Wu,86,6,Ye,88; struct student c10;FILE *fp; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共

46、18 页江苏省高校电脑等级考试二级C 语言上机真题第 18 页 共 18 页int i; if(fp=fopen(myf2.out,w)=NULL) printf(nCant open the file!); exit (0); merge(a,M,b,N,c); for(i=0;iM+N;i+) printf(n%2s%6s %f,ci.num,ci.name,ci.score),fprintf(fp, n%2s%6s %f,ci.num,ci.name, ci.score); printf(nMy number is:120992340n); fprintf(fp,nMy number is:1292340n); fclose(fp); /*操作结束,关闭文件fp 书 P334 */ getch(); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 18 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com