2011年6月省考C语言新题与参考答案(非选择部分).doc_第1页
2011年6月省考C语言新题与参考答案(非选择部分).doc_第2页
2011年6月省考C语言新题与参考答案(非选择部分).doc_第3页
2011年6月省考C语言新题与参考答案(非选择部分).doc_第4页
2011年6月省考C语言新题与参考答案(非选择部分).doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

一、填空题1、将程序Ccon291.C 填写完整,该程序求出所有满足形如 MN + NM =99 的一位整数M和N。如:当M=1,N=8时,满足 18+81=99注:(1)在每对“/*/”之间的空白处补充程序,以完成题目的要求;(2)不得删改程序中的“/*/”注释和其它代码;(3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include void main() int m,n,k; for ( m = 1; m 10 ; m+) for ( n = 1 ;/*/ /*/; n+) k =/*/ /*/; if (k = 99) printf ( M = %d N = %dn, m, n ); getch();参考答案:#include void main() int m,n,k; for ( m = 1; m 10 ; m+) for ( n = 1 ;n 10; n+) k =10*m + n + 10*n + m; if (k = 99) printf ( M = %d N = %dn, m, n ); getch();2、补充程序Ccon292.C ,分别统计输入整数中小于零、大于零和最低位为3的个数。输入零时输出统计结果。注:(1)在每对“/*/”之间的空白处补充程序,以完成题目的要求;(2)不得删改程序中的“/*/”注释和其它代码;(3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include void main() int x,na,nb,nc; na=nb=/*/ /*/; printf(Please input integer number, end with 0:n); scanf(%d,&x); while( x ) if(x0) /*/ /*/; else +nb; if( abs(x%/*/ /*/)=3 ) +nc; printf(Please input integer number, end with 0:n); scanf(%d,&x); printf(na=%d nb=%d nc=%dn,na,nb,nc); getch();参考答案:#include void main() int x,na,nb,nc; na=nb=nc=0; printf(Please input integer number, end with 0:n); scanf(%d,&x); while( x ) if(x0) +na; else +nb; if( abs(x%10)=3 ) +nc; printf(Please input integer number, end with 0:n); scanf(%d,&x); printf(na=%d nb=%d nc=%dn,na,nb,nc); getch();3、将程序Ccon301.C 填写完整,实现从键盘按行输入一个5行5列的二维整型数组表示的5 X 5 阶矩阵,并输出最后一列元素的平均值。注:(1)在每对“/*/”之间的空白处补充程序,以完成题目的要求;(2)不得删改程序中的“/*/”注释和其它代码;(3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include #include void main() int i,j ; int a55,sum; /*/ /*/; printf(Please input 25 numbers:n); for(i=0; i5;i+) for(j=0;j5;j+) scanf(%d,&aij); if(/*/ /*/) sum+=aij; printf(%.5fn,/*/ /*/); getch();参考答案:#include #include void main() int i,j ; int a55,sum; float num=0; printf(Please input 25 numbers:n); for(i=0; i5;i+) for(j=0;j5;j+) scanf(%d,&aij); if(j=4) sum+=aij; printf(%.5fn,num=sum/5); getch();4、补充程序Ccon302.C ,利用冒泡法对数组a中的数据按从小到大顺序排列。注:(1)在每对“/*/”之间的空白处补充程序,以完成题目的要求;(2)不得删改程序中的“/*/”注释和其它代码;(3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include #define N 10void main() int aN=21,56,-9,0,3,17,18,5,-23,11; int i,j,/*/ /*/; for(i=N-1;i=1;i-) for(j=0;j=/*/ /*/ ;j+) if(/*/ /*/) temp=aj; aj=aj+1; aj+1=temp; printf(Sorted numbers:n); for(i=0;iN;i+) printf(%4d ,ai); printf(n); getch();参考答案:#include #define N 10void main() int aN=21,56,-9,0,3,17,18,5,-23,11; int i,j,temp; for(i=N-1;i=1;i-) for(j=0;j=i;j+) if(aj+1aj) temp=aj; aj=aj+1; aj+1=temp; printf(Sorted numbers:n); for(i=0;iN;i+) printf(%4d ,ai); printf(n); getch();5、将程序Ccon311.C填写完整,查找存储在结构体数组中5位学生成绩最高者的姓名和成绩。注:(1)在每对“/*/”之间的空白处补充程序,以完成题目的要求;(2)不得删改程序中的“/*/”注释和其它代码;(3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include void main() struct student char name10; float score; ; struct student stu5=Mary,76.1,John,87.3,Tom,81,susa,87.8,wilu,79; int i=0,k=0; /*/ /*/ ; for(i=0;imax) max=/*/ /*/ ; /*/ /*/; printf(nname:%s,score:%.2f, ,stuk.score ); getch();参考答案:#include void main() struct student char name10; float score; ; struct student stu5=Mary,76.1,John,87.3,Tom,81,susa,87.8,wilu,79; int i=0,k=0; float max=0; for(i=0;imax) max=stui.score; k=i; printf(nname:%s,score:%.2f, ,stuk.score ); getch();6、补充程序Ccon312.C,其中函数find(int a ,int x )的功能是在一组无序且不重复的数据中查找x ,若有则返回 x 在数组中的下标,否则返回 -1。注:(1)在每对“/*/”之间的空白处补充程序,以完成题目的要求;(2)不得删改程序中的“/*/”注释和其它代码;(3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include /*/ /*/ N 10int find(int a,int x) int i; for(/*/ /*/;i=0)printf(%d is found,its at %dn,f,f_at); else printf(Not exist.n); getch();参考答案:#include #define N 10int find(int a,int x) int i; for(i=0;i=0)printf(%d is found,its at %dn,f,f_at); else printf(Not exist.n); getch();7、将程序Ccon321.C 填写完整,实现从键盘输入9个整数,求出第8个数与第9个数的平均值,并输出小于该平均值的所有数。注:(1)在每对“/*/”之间的空白处补充程序,以完成题目的要求;(2)不得删改程序中的“/*/”注释和其它代码;(3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include void main() int i,s9; float aver; printf(Please input sampler:n); for(i=0;i9;i+) scanf(%d,&si); aver=(float)/*/ /*/)/2; for(i=0;i9;i+) if(si/*/ /*/) printf(%dn,si); getch();参考答案:#include void main() int i,s9; float aver; printf(Please input sampler:n); for(i=0;i9;i+) scanf(%d,&si); aver=(float)(s7+s8)/2; for(i=0;i9;i+) if(siaver) printf(%dn,si); getch();8、补充程序Ccon322.C,实现删除输入字符串中所有的b字母如:输入:akcberbbnv 输出:akcernv注:(1)在每对“/*/”之间的空白处补充程序,以完成题目的要求;(2)不得删改程序中的“/*/”注释和其它代码;(3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。/*/ /*/void main() char str100; int /*/ /*/; printf(Input string :); gets(str); for(i=j=0; stri!=0; i+) if(stri!=b) strj=stri; /*/ /*/; strj=0; printf(Now string is:); puts(str); getch();参考答案:#includevoid main() char str100; int i,j; printf(Input string :); gets(str); for(i=j=0; stri!=0; i+) if(stri!=b) strj=stri; j+; strj=0; printf(Now string is:); puts(str); getch();9、程序Ccon331.C,输出用1元、2元和5元的纸币组成10元的所有组合。注:(1)在每对“/*/”之间的空白处补充程序,以完成题目的要求;(2)不得删改程序中的“/*/”注释和其它代码;(3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include void main() int i,j,k; int num=0; printf( No. 1 yuan 2 yuan 5 yuann); for(k=0;k=2;k+) for(j=0;j=5;j+) for(i=0;/*/ /*/;i+)if(/*/ /*/) num+; printf(%9d%9d%9d%9dn,num,i,j,k); getch();参考答案:#include void main() int i,j,k; int num=0; printf( No. 1 yuan 2 yuan 5 yuann); for(k=0;k=2;k+) for(j=0;j=5;j+) for(i=0;i=10;i+)if(k*5+j*2+i=10) num+; printf(%9d%9d%9d%9dn,num,i,j,k); getch();10、补充程序Ccon322.C,编制某公司安排 zhang 、wang 、zhao 、li 四个人轮流值班的12天值班人员表。注:(1)在每对“/*/”之间的空白处补充程序,以完成题目的要求;(2)不得删改程序中的“/*/”注释和其它代码;(3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include void main() enum bodyzhang,wang,zhao,li; /*/ /*/ body day12, j; int i; j=zhang; for(i=0;ili) j=/*/ /*/; printf(List :n); for(i=1;i=12;i+) switch(dayi-1) case zhang: printf(Day %2d is %s n,i,zhang); break; case wang: printf(Day %2d is %s n,i,wang); break; case /*/ /*/: printf(Day %2d is %s n,i,zhao); break; case li: printf(Day %2d is %s n,i,li); getch();参考答案#include void main() enum bodyzhang,wang,zhao,li; body day12, j; int i; j=zhang; for(i=0;ili) j=zhang; printf(List :n); for(i=1;i=12;i+) switch(dayi-1) case zhang: printf(Day %2d is %s n,i,zhang); break; case wang: printf(Day %2d is %s n,i,wang); break; case zhao: printf(Day %2d is %s n,i,zhao); break; case li: printf(Day %2d is %s n,i,li); getch();二、改错题1、修改程序 Cmody291.C 中的错误,实现将键盘输入字符串中的07转换成比它大2的数字字符,8转换成0,9则转换成1。如:输入:ab56cd89EF34GH43 输出:ab78cd01EF23GH65注:(1)修改程序在每对“/*/”之间存在的错误; (2)不得删改程序中的“/*/”注释和其它代码; (3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include #include void main() char s1100, s2100; int i,s_len; printf(Please input string: n); gets(s1); s_len = /*/ s1 /*/; for(i=0; i= 0 & s1i = 7) s2i = s1i + 2; else if(s1i = 8/*/ & /*/s1i=9) s2i = s1i-8; else s2i = s1i; /*/ s2i+1 /*/ = 0; puts(s2); getch();参考答案:#include #include void main() char s1100, s2100; int i,s_len; printf(Please input string: n); gets(s1); s_len =strlen(s1); for(i=0; i= 0 & s1i = 7) s2i = s1i + 2; else if(s1i = 8 | s1i=9) s2i = s1i-8; else s2i = s1i; s2i = 0; puts(s2); getch();2、修改程序Cmody292.C,其中的函数 fun ( ) 将字符串表示的八进制数转换成对应的十进制数,并返回转换结果。如:输入字符串:325输出结果:213注:(1)修改程序在每对“/*/”之间存在的错误; (2)不得删改程序中的“/*/”注释和其它代码; (3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include int fun(/*/ char p /*/)int x; /*/ x=1; /*/ while(*p) x=x*8+*p-0; p+; return(/*/ *p /*/);void main() char str_s6; printf(Enter string: ); gets(str_s); printf(nDecimal is: %d,fun(str_s) ); getch();参考答案:#include int fun(char * p )int x; x=0; while(*p) x=x*8+*p-0; p+; return(x);void main() char str_s6; printf(Enter string: ); gets(str_s); printf(nDecimal is: %d,fun(str_s) ); getch();3、程序Cmody301.C,将满足下列条件所有可能的零件总数保存到数组 num100中。有一堆零件,总数在1000到2000之间并且满足:若按4个零件分组,则多2个零件;若按7个零件分组,则多3个零件。注:(1)修改程序在每对“/*/”之间存在的错误; (2)不得删改程序中的“/*/”注释和其它代码; (3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include void main() int i,num100,count; /*/ count=1 /*/; for(i=1000; i=2000; i+) if(/*/ (i-2)%4 = 0 & (i-3)%7=0 /*/) numcount=i; count+; printf(Total number is:%dn, count ); for(i=0; /*/i=count /*/;i+) printf(%dn, numi); getch();参考答案:#include void main() int i,num100,count; count=0; for(i=1000; i=2000; i+) if(i-2)%4 = 0&(i-3)%7=0) numcount=i; count+; printf(Total number is:%dn, count ); for(i=0; i=count;i+) printf(%dn, numi); getch();4、修改程序Cmody302.C,其中的函数prime(int x)用于判断 x 是否为素数,若是返回值为1,否则返回值为0。注:(1)修改程序在每对“/*/”之间存在的错误; (2)不得删改程序中的“/*/”注释和其它代码; (3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include #include int prime( int x ) int i, mark=1 ; double k; /*/ i=1 /*/; k=(int)sqrt(double)x); while (i=k) if(x%i=0) /*/ i=k+1; /*/ break; i+; return (mark);void main() int a; printf(Input a number: ); scanf(%d,&a); if(/*/ !prime(a) /*/) printf(%d is a prime number.n, a); else printf(Its not.n); getch();参考答案:#include #include int prime( int x ) int i, mark=1 ; double k; i=2; k=(int)sqrt(double)x); while (i=k) if(x%i=0) i=(int)k+1; mark=0; break; i+; return (mark);void main() int a; printf(Input a number: ); scanf(%d,&a); if(prime(a) printf(%d is a prime number.n, a); else printf(Its not.n); getch();5、程序Cmody311.C,计算如下数学表达式:s = 注:(1)修改程序在每对“/*/”之间存在的错误; (2)不得删改程序中的“/*/”注释和其它代码; (3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include float fun(float a) return (a*a+2*a+1)/(a-1);void main() float x,y,z; float result; printf(nPlease input x,y,z: ); scanf(/*/ %d%d%d /*/,&x,&y,&z); if(x=1 | y=1 | z=1) printf(Divide 0,error!); getch(); return ; result=/*/ fun(x,y,z) /*/; printf(nResult=%.2fn,result); getch();参考答案:#include float fun(float a) return (a*a+2*a+1)/(a-1);void main() float x,y,z; float result; printf(nPlease input x,y,z: ); scanf(%f%f%f,&x,&y,&z); if(x=1 | y=1 | z=1) printf(Divide 0,error!); int getch(); return 0; result=fun(x)+fun(y)+fun(z); printf(nResult=%.2fn,result); getch();6、修改程序 Cmody312.C ,其中的函数 swap( ) 用指针变量实现两变量值的交换。注:(1)修改程序在每对“/*/”之间存在的错误; (2)不得删改程序中的“/*/”注释和其它代码; (3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include void swap(int *p, /*/ *q /*/) int temp; /*/ *temp /*/= *p; /*/ *q = *p; /*/ *q = temp;void main() int a,b; printf(Input 2 numbers:n); scanf(%d%d,&a,&b); printf(nOriginal: a=%d b=%dn,a,b); swap(&a,&b); printf(Now: a=%d b=%dn,a,b); getch();参考答案:#include void swap(int *p,int *q ) int temp; temp = *p; *p = *q; *q = temp;void main() int a,b; printf(Input 2 numbers:n); scanf(%d%d,&a,&b); printf(nOriginal: a=%d b=%dn,a,b); swap(&a,&b); printf(Now: a=%d b=%dn,a,b); getch();7、程序Cmody321.C,求199之间含有数字 3 或5 的整数的和。注:(1)修改程序在每对“/*/”之间存在的错误; (2)不得删改程序中的“/*/”注释和其它代码; (3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include void main() int i,gw,sw,sum=0; for(i=1;i100;i+) sw=i/10; gw= /*/ i-sw /*/; if(gw=3 | gw=5)|(sw=3 | sw=5) /*/ sum=i /*/; printf(nThe sum is:%d,sum); getch();参考答案:#include void main() int i,gw,sw,sum=0; for(i=1;i100;i+) sw=i/10; gw=i-sw*10; if(gw=3 | gw=5)|(sw=3 | sw=5) sum+=i; printf(nThe sum is:%d,sum); getch();8、修改程序Cmody322.C,其中的函数fun (float a , float b, float c )判断参数a,b,c表示的边长能否构成三角形,当任意两边之和大于第三边时,输出该三角形面积,否则提示不是三角形,三角形面积公式如下:Area = 其中; s = 注:(1)修改程序在每对“/*/”之间存在的错误; (2)不得删改程序中的“/*/”注释和其它代码; (3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include #include void fun(/*/ float a, b, c /*/)double s,area; if(a+bc & a+cb & b+ca) /*/ s=a+b+c/2; /*/ area=/*/ sqt(s*(s-a)*(s-b)*(s-c) /*/ ; printf(area=%7.2fn,area); else printf(Not a triangle.n); void main() float a,b,c; printf(Input a,b,c:); scanf(%f,%f,%f,&a,&b,&c); fun(a,b,c); getch();参考答案:#include #include void fun(float a,float b,float c)double s,area; if(a+bc & a+cb & b+ca) s=(a+b+c)/2.0;area= sqrt(s*(s-a)*(s-b)*(s-c);printf(area=%7.2fn,area); else printf(Not a triangle.n);void main() float a,b,c; printf(Input a,b,c:); scanf(%f,%f,%f,&a,&b,&c); fun(a,b,c); getch();9、程序Cmody331.C的功能是从键盘输入一个字符串,计算并输出该字符串的长度。注:(1)修改程序在每对“/*/”之间存在的错误; (2)不得删改程序中的“/*/”注释和其它代码; (3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include void main() char str100; char *p; p=str; scanf(%s,str); while ( /*/*p=0 /*/) p+; printf(/*/The length is: %s /*/,p-str); getch();参考答案:#include void main() char str100; char *p; p=str; scanf(%s,str); while (*p != 0) p+; printf(The length is: %d ,p-str); getch();10、修改程序Cmody332.C,其中函数void chg (char s J )将字符串中所有奇数位置上的大写字母转换为小写字母。如:字符串AB?2cDEf 将转换成 aB?2cDef 注:(1)修改程序在每对“/*/”之间存在的错误; (2)不得删改程序中的“/*/”注释和其它代码; (3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。#include void chg(char s)int i;

温馨提示

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

最新文档

评论

0/150

提交评论