重庆市计算机等级考试C语言上机模拟试题.doc_第1页
重庆市计算机等级考试C语言上机模拟试题.doc_第2页
重庆市计算机等级考试C语言上机模拟试题.doc_第3页
重庆市计算机等级考试C语言上机模拟试题.doc_第4页
重庆市计算机等级考试C语言上机模拟试题.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

重庆市计算机等级考试C语言上机模拟试题1、 函数adddigit的原型为int adddigit(int num);,其功能是求num各位数字之和。要求编制该函数并用如下所示的主函数进行测试,源程序存入test1.c。 # include “stdio.h” # include “math.h” void main() int adddigit(int num); int n; scanf(“%d”,&n); printf(“sum=%dn”,adddigit(n);2、 编制程序输出如下所示图形,源程序存入test11.c。 1 121 12321 1234321 123454321 123456543213、 编制程序实现功能:从键盘上输入若干个值为032767之间的正整数,并将每个整数的各位数字之和存放在数组a中。要求:被处理数据的个数由键盘输入指定(小于50个数):求每个整数各位数字之和的功能用自定义函数实现:源程序存入test21.c。4、 编制程序实现其66的整型矩阵的输入数据,然后求出其最大元素以及最大元素位置的下标并输出的功能,源程序存入test41.c。5、 编程实现从键盘为一个66整型数组输入数据,然后找出其每一行中的最小值保存在一维数组中,并输出该一维数组的所有元素。源程序存入test51.c。6、 函数fac的原型为long fac(it j);,其功能是利用静态变量实现n!。要求编制该函数并用如下的主函数进行测试。源程序存入test61.c。7、 函数chrn的原型为int chrn(char *s,char c);,其功能是测试字符c在字符串s中出现的次数。要求编制该函数并用相应的主函数进行测试。源程序存入test71.c。8、 求出100999之间能够被3整除,且至少有一位数字是5的所有整数。源程序存入test81.c。9、 编写一个程序计算下式之和。 1+(1+2)+(1+2+3)+(1+2+3+4+5+6+7+8+9+10). 源程序存入test91.c。10、Fibonacci数列是这样一个数列,最前面的两个数分别是1和1,从第3个数开始,数列中每个数是其前面的两个数之和。请编写程序求该数列中前20个数且要求每一行输出10个数。源程序存入test91.c。11、 下面程序的功能是:统计文本文件f.dat中字符的个数。请输入并完善程序,源程序存入test22.c。 # include “stdio.h” void main() FILE *fp; long num=0l; if( )=NULL) printf(“can not open the filen”); return; while( ) num=num+1; fclose(p); printf(“num=%dn”,num);12、 下列程序是将一个二维数组行和列的元素互换,存到另一个二维数组中。请输入并完善程序。源程序存入test2.c 。 # include “stdio.h” void main() int ,j,arr123=2,4,6,1,3,5,arr232; printf(“Array arr1:n”); for(i=0;i2;i+) for(j=0; ;j+) printf(“%5d”,arr1ij); =arr1ij; printf(“n”); printf(“Array arr2:n”); for(i=0;i3;i+) for(j=0; j2 ; ) printf(“%5d”,arr2ij); printf(“n”);13、 下述程序的功能是:在数组中同时查找最大元素下标和最小元素下标,并分别存放在main函数的变量max和min中。请输入程序并填空,源程序存入test12.c。 # include “stdio.h” void find(int *a,int n,int *max,int *min) int k; *max=*min=0;for(k=1;ka*max) if(ala*min) *min=k; void main( ) int x=5,8,-7,2,12,7,3,10; int max,min; find( ); printf(“n%d,%dn”,max,min);14、 下面程序的功能是:输入两个字符串,将第二个字符串中ASCII码值为偶数的字符连接在第一个字符串的后面。请输入程序并填空,源程序存入test22.c。 # include “stdio.h” void main() char s180,s240; int I,j; printf(“please input two stings:”); gets(s1);gets(s2); for(i=0; ;i+); for(j=0;s2j!=0;j+) if( ) s1i+=s2j; puts(s1);15、下列程序的功能是将一字符串s中的内容倒置。如输入的字符串为abcdefg,则输出的字符串为gfedcba。请输入程序并填空,源程序存入test32.c。 # include “stdio.h” # include “string.h” void main() void f(char *s); char s180; gets(s1); f( ); puts(s1); void f(char *s) int i,k; char t; k= ; for(i=0;i=0; ) d=ci; printf(“%c”,bd);17、下面程序的功能是实现文件复制,源文件和目标文件文件名来自命令行。请输入程序并填空,源程序存入test52.c。# include “stdio.h”void main( int argc,char *argv) *fin,*fout;int count=0,cif(argc!=3) return;if(fin=fopen(argv1,”r”)=NULL|(fout=fopen(argv2,”w”)=NULL) puts(“无法打开文件!“); ; while(c=fgetc(fin)&7!feof(fin) fclose(fin); fclose(fout);18、下列函数功能是求n个学生成绩的平均分和最高分,并将这些数据从该函数返回到调用函数。请输入程序并填空,源程序存入test62.c。# include “stdio.h”float average (float array,int n, ) int I; float sum=array0; for(i=1;i*max) *max=arrayi; sum=sum+arrayi; return void main( ) float a=13,21,35,47,52,67,74,86,99,10,max,aver; aver=average(a,10,&max); printf(“%f,%fn”,max,aver);19、下面的程序通过average计算数组中各元素的平均值。请输入程序并填空,源程序存入test72.c# include “stdio.h”float average ( ,int n) int x; float avg ; for(x=0;xn;x+) avg=avg+ ; avg=avg/n; return avg;void main( ) int a5=2,4,6,8,10; float mean;mean=average(a,5); printf(“mean=%fn”,mean); 20、下面程序的功能是将字符串中的数字字符删除后输出。请输入程序并填空,源程序存入test82.c# include “stdio.h”void delnum( ) int I,j; for( i=0,j=0;si!=0;i+) if( )sj=si;j+; void main( ) char s80; gets(s); delnum(s); printf(“n%sn”,s);21、 以下程序实现在屏幕上显示指定文本文件(文件名为: c:abc.dat)内容的功能。源程序中前面标有星号的行有错误,请改正之。源程序存入test3.c。* include “stdio.h” void main() * file *p; char c; * if(p=open(“c:abc.dat”,”w”)=NULL) printf(“ can not open the filen”); return;while(!feof(p) c=fgetc(p);* getchar( c);22、 在下面程序中,函数f 的功能是求无符号整数num各位数字之积。请输入程序并改正程序中带“*”的行中的错误,使它能够正确地输出结果。源程序存入test31.c 。 # include “stdio.h” unsigned f( unsigned num) * unsigned k=0; do * k*=num/10;* num%=10; while (num); return(k); void main( ) int x=35,y=550; printf(“%d,%dn”,f(x),f(y); 23、 如下程序使x与y变量之值进行交换。请输入程序并改正程序中带“*”的行中的错误,使它能够正确地输出结果。源程序存入test32.c 。 # include “stdio.h” void main() void swap(int *p1,int *p2); int x,y,*ptr1,*ptr2; scanf(“%d,%d”,&x,&y); printf(“%dt%dn”,x,y);* p1=&x;* ptr2=y;* swap(*ptr1,*ptr2);printf(“%dt%dn”,x,y);void swap( int *p1,int *p2) int temp; temp=*p1;*p1=*p2;*p2=temp; 24、以下程序是求取矩阵A的两条对角线上元素之和。请输入程序并改正程序中带“*”的行中的错误,使它能够正确地输出结果。源程序存入test33.c 。# include “stdio.h” void main() int a33=1,2,3,4,5,6,7,8,9,i,j;* int sum1=0; for(i=0;i3;i+) for(j=0;j3;j+) if(i=j) sum1=sum1+aij; for(i=0;i=0;j+)* if(i=j) sum2=sum2+aij; printf(“sum1=%d,sum2=%dn”,sum1,sum2);25、 以下程序是求a数组中偶数的个数和偶数的平均值。请输入程序并改正程序中带“*”的行中的错误,使它能够正确地输出结果。源程序存入test34.c 。 # include “stdio.h” void main() int a10=1,2,3,4,5,6,7,8,9,10,k,i; float s=0,ave; for(k=i=0;is0) max=si,k=I; if(k!=i-1)* sk=si-1,sk=max; puts(s);29、 已知数据文件a.dat 中存放有若干个(超过10个)整数,以下程序的功能是:计算文件a.dat中前10个数的和并将求和结果存入文件a.dat的尾部。请输入程序并改正程序中带“*”的行中的错误,使它能够正确地输出结果。源程序存入test38.c 。 # include “stdio.h” void main( ) * File *fp1,*fp2; * int s,a,i; if(fp1=fopen(“a.dat”,”r”)=NULL) printf(“ can not open the file”); return; for( i=0;i10;i+)* fscanf( fp1,”%d”,a); s+=a; fclose(fp1); if(fp2=fopen(“a.dat”,”a”)=NULL) printf(“ can not open the file”); return; * printf(“%d”,s); fclose(fp2);30、 下面的程序通过average计算数组中各元素的平

温馨提示

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

评论

0/150

提交评论