★预测计算机等级考试的C语言上机编程题(矩阵部份)_张柏雄.doc_第1页
★预测计算机等级考试的C语言上机编程题(矩阵部份)_张柏雄.doc_第2页
★预测计算机等级考试的C语言上机编程题(矩阵部份)_张柏雄.doc_第3页
★预测计算机等级考试的C语言上机编程题(矩阵部份)_张柏雄.doc_第4页
★预测计算机等级考试的C语言上机编程题(矩阵部份)_张柏雄.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

矩阵变换题一编程题(24分)参考2008秋C01上机改错题资料编写【程序功能】对4行4列二维数组的每一列排序,偶数列(0当作偶数)由小到大排序,奇数列由大到小排序。【编程要求】1、 编写函数void sort(int a4)。要求对二维数组处理,处理要求是对奇数列升序排列,偶数列降序排列后该数组返回。2、 编写main函数,定义int a44= 15,4,2,16,12,7,9,6,8,14,11,5,3,10,1,13;,调用函数sort(int a44),并按下面输出数据格式。输出到屏幕并保存到文件myf2.out中。最后将考生本人的准考证号字符串也保存到结果文件myf2.out中。【测试数据与运行结果】测试数据:15 4 2 16 12 7 9 68 14 11 53 10 1 13 运行结果:3 14 1 168 10 2 1312 7 9 615 4 11 5my exam number is:考生本人准考证号字符串【要求】1、 源程序文件名必须取为myf2.c,输出结果文件名为myf2.out。2、 数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。3、 源程序文件和运行结果文件均需保存到T:盘上,供阅卷使用。不要复制扩展名为obj和exe的文件到T:盘上。矩阵变换题一参考程序#include #include #include #include void swap( int *p1, int *p2) /*两数值量交换函数*/ int p; p=*p1; *p1=*p2; *p2=p;void sort(int a4) int i, j, k; for(i=0;i4;i+) for(j=0;j4;j+) for(k=j+1;k4;k+) if(i%2!=0?ajiaki) swap(&aji, &aki);void main() int a44=15,4,2,16,12,7,9,6,8,14,11,5,3,10,1,13,i,j;FILE *fp; if(fp=fopen(myf2.out,w)=NULL) printf(nCant open the file!); exit(0); printf(n); fprintf(fp,n); for(i=0;i4;i+) for(j=0;j4;j+) printf(%3d,aij),fprintf(fp,%3d,aij); printf(n),fprintf(fp,n); sort(a); printf(n); fprintf(fp,n); for(i=0;i4;i+) for(j=0;j4;j+) printf(%3d,aij),fprintf(fp,%3d,aij); printf(n),fprintf(fp,n); printf(nMy number is:0830107123n); fprintf(fp,nMy number is:0830107123n); fclose(fp); getch();矩阵变换题二编程题(24分)参考2011春C04上机编程题资料为“顺时针旋转900变换”改编【程序功能】矩阵生成。【编程要求】1. 定义符号常量N代表4。2. 编写函数void rotate(int (*t)N, int n)。函数功能是将t指向的数组中存储的nn.矩阵最外圈全部元素做逆时钟旋转900变换。例如:若n=3有如下矩阵: 1 2 3 4 5 6 7 8 9将矩阵最外圈全部元素做逆时钟旋转900变换后应为: 3 4 9 2 5 8 1 4 73、编写main函数。函数功能是声明N行N列二维数组t,从键盘输入n(1n4)用1n2之间的自然数以行为主序的方式依次填充到二维数组t中,用n和数组t作为实参调用函数rotate,将数组t中的数据输出到屏幕文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。【测试数据与运行结果】测试数据:n=4屏幕输出: 4 8 12 16 3 6 7 15 2 10 11 14 1 5 9 13【要求】1. 源程序文件名必须取为myf2.c,输出结果文件名为myf2.out。2. 数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。3. 源程序文件和运行结果文件均需保存到T:盘上,供阅卷使用。4. 不要复制扩展名为obj和exe的文件到T:盘上。矩阵变换题二参考程序#include #include #include #define N 4void rotate(int (*t)N, int n) /*参考江苏省二级C-06秋C05改错题:整个矩阵逆旋转90度;07秋C04改错题:生成螺旋矩阵阵。本法简明易懂,但占用较多的空间资源*/ int i,j,cNN,dNN; /*生成二维临时数组c及d*/ for(i=0;in;i+) for(j=0;jn;j+) cij=*(*(t+i)+j),dij=*(*(t+i)+j); for(i=0;in;i+) dN-i-10=c0i; for(i=0;in;i+) dN-1i=ci0; for(i=0;in;i+) dN-i-1N-1=cN-1i; for(i=0;in;i+) d0i=ciN-1; for(i=0;in;i+) for(j=0;jn;j+) *(*(t+i)+j)=dij;void main() int tNN,i,j,k=1,m; FILE *fp; if(fp=fopen(myf2.out,w)=NULL) printf(nCant open the file!); exit(0); scanf(%d,&m); for(i=0;im;i+) for(j=0;jm;j+) tij=i*m+j+1; printf(n); fprintf(fp,n); rotate(t,m); for(i=0;im;i+) for(j=0;jm;j+) printf(%dt,tij);fprintf(fp,%dt,tij); printf(n);fprintf(fp,n); printf(nMy number is:1030107123n); fprintf(fp,nMy number is:1030107123n); fclose(fp); getch();矩阵变换题三编程题(24分)参考2006秋C05上机改错题资料改编【程序功能】矩阵作逆时钟旋转900的变换。【编程要求】1、 定义符号常量M代表5。目的是为了满足数组下标不准用变量n的特殊要求。2、 编写函数void rotate(int (*a)M, int n)。函数功能是将t指向的数组中存储的nn.矩阵全部元素做逆时钟旋转900变换。例如:若n=5有原矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25将矩阵全部元素做逆时钟旋转900变换后应为: 5 10 15 20 25 4 9 14 19 24 3 8 13 18 26 2 7 12 17 22 1 6 11 16 213、编写main函数。函数功能是声明M行M列二维数组t,从键盘输入n(1n10)用1n2之间的自然数以行为主序的方式依次填充到二维数组t中,用n和数组t作为实参调用函数rotate,将数组t中的数据输出到屏幕文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。【测试数据与运行结果】测试数据:n=5屏幕输出: 5 10 15 20 25 4 9 14 19 24 3 8 13 18 26 2 7 12 17 22 1 6 11 16 21【要求】5. 源程序文件名必须取为myf2.c,输出结果文件名为myf2.out。6. 数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。7. 源程序文件和运行结果文件均需保存到T:盘上,供阅卷使用。不要复制扩展名为obj和exe的文件到T:盘上。矩阵变换题三参考程序#include #include #include #define M 5void rotate(int (*a)M, int n) /*参考江苏省二级C-06秋C05改错题:整个矩阵逆旋转90度*/ int i,j,cMM,dMM; /*生成二维临时数组c及d,此法与参考答案比较简洁、易懂。但占用较多的空间资源*/ for(i=0;in;i+) for(j=0;jn;j+) cij=*(*(a+i)+j),dij=*(*(a+i)+j); for(i=0;in;i+) for(j=0;jn;j+) dn-i-1j=cji; for(i=0;in;i+) for(j=0;j=10) scanf(%d,&m); for(i=0;im;i+) for(j=0;jm;j+) tij=i*m+j+1; printf(n); fprintf(fp,n); rotate(t,m); for(i=0;im;i+) for(j=0;jm;j+) printf(%dt,tij);fprintf(fp,%dt,tij); printf(n);fprintf(fp,n); printf(nMy number is:1030107123n); fprintf(fp,nMy number is:1030107123n); fclose(fp); getch();矩阵变换题四编程题(24分)参考2007秋C04上机改错题资料改编【程序功能】生成一个n阶(小于或等于10)螺旋方阵的的通用程序,将其存放在一个二维数组中。【编程要求】1、定义符号常量N代表10。目的是为了满足数组下标不准用变量n的特殊要求。2、编写函数void rotate(int matNN, int n)。函数功能是使mat数组存储nn.的逆时钟螺旋排列的矩阵。例如:若n=5有如下矩阵: 116 15 14 13 2 17 24 23 12 3 18 25 22 11 4 19 26 21 10 5 6 7 8 93、编写main函数。函数功能是声明N行N列二维数组a,从键盘输入n(1n10),用n和数组a作为实参调用函数rotate,将数组t中的数据输出到屏幕文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。【测试数据与运行结果】测试数据:n=5屏幕输出: 116 15 14 13 2 17 24 23 12 3 18 25 22 11 4 19 26 21 10 5 6 7 8 9【要求】8. 源程序文件名必须取为myf2.c,输出结果文件名为myf2.out。9. 数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。10. 源程序文件和运行结果文件均需保存到T:盘上,供阅卷使用。不要复制扩展名为obj和exe的文件到T:盘上。矩阵变换题四参考程序#include #include #include #define N 10void rotate(int matNN, int n) /*参考江苏省二级C-07秋C04改错题:生成逆时钟的螺旋矩阵*/ int i,k,value=1; /*此法基本采用参考答案。*/ for(k=0;k(n+1)/2;k+) for(i=k;in-k;i+) matik=value+; for(i=k+1;i=k;i-) matin-k-1=value+; for(i=n-k-2;ik;i-) matki=value+; void main() static int aNN,i,j,m=11; FILE *fp; if(fp=fopen(myf2.out,w)=NULL) printf(nCant open the file!); exit(0); printf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论