ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:22.34KB ,
资源ID:8539739      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8539739.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(高考C语言题.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

高考C语言题.docx

1、高考C语言题 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)高考C语言题试卷编号:8258所属语言:计算机基础试卷方案:111试卷总分:400分共有题型:3种一、程序填空 共5题 (共计100分)第1题 (20.0分) 题号:650 难度:中 第1章/*-【程序填空】- 函数int change(char s)将s中的数字字符串转换成整数, 并返回该数。例如s中为123,转换后为123。 函数int multi(char s,char t)将s字符串转换的整数乘 以t字符串转换的整数,并返回乘积。-注意:请勿改动程序中的其他内容。-*/#in

2、cludeint change(char s) int i,sum; sum=0; for(i=0;si;i+)/*SPACE*/ sum=sum*10+【】-0; return sum;int multi(char s,char t) int mul;/*SPACE*/ mul=【】; return mul;int main() char s1=123,s2=56; int mst; mst=multi(s1,s2); printf(%dn,mst); return 0;答案:=(答案1)=si=或=*(s+i)=(答案2)=change(s)*change(t)=或=change(t)*c

3、hange(s)第2题 (20.0分) 题号:651 难度:中 第1章/*-【程序填空】- 函数void check(long n, int c)检测长整型正整数n是几 位数,同时找出最小的数字。将位数和最小的数字存放在数 组c中。 例如n=1256044时,n是7位数,最小的数字是0。-注意:请勿改动程序中的其他内容。-*/#include /*SPACE*/void check(long n, int 【】) int min,p,k; min=9; p=0; do k=n%10; min=(mink) k: min; n/=10; p+; while(n); c0=p; c1=min;in

4、t main() long n; int c2; printf(输入长整型正整数:); scanf(%ld,&n); check(n, c);/*SPACE*/ printf(%ld是%d位数,最小数字是%dn,【】); return 0;答案:=(答案1)=c=或=c2=(答案2)=n,c0,c1第3题 (20.0分) 题号:652 难度:中 第1章/*-【程序填空】- 函数int convert(int a,int nsys)将nsys(nsys10)进制数a, 转换成十进制数并返回。-注意:请勿改动程序中的其他内容。-*/#include#define N 5int convert(in

5、t a,int nsys) int t,p; if(ansys) return a; t=0; p=1; while(a!=0) t=t+a%10*p;/*SPACE*/ 【】; p*=nsys; return t;int main() int i,d; int numN2=704,8,10011,2,266,7,3,5,22110,3; for(i=0;iN;i+) d=convert(numi0,numi1);/*SPACE*/ printf(%d进制数的%dt = 十进制数的%dn,【】); return 0;答案:=(答案1)=a/=10=或=a=a/10=(答案2)=numi1,nu

6、mi0,d第4题 (20.0分) 题号:653 难度:中 第1章/*-【程序填空】- 函数void rearr(int a, int n)将已经升序排列的一维数 组a中的n个元素重新排列,重新排列的规则是: 将a数组中的最小元素放到a0,最大元素放到a1, 将次小元素放到a2,次大元素放到a3,., 以此类推。 例如: 原a数组各元素为: -11 -7 0 3 8 15 16 20 38 重新排列后a数组各元素为: -11 38 -7 20 0 16 3 15 8-注意:请勿改动程序中的其他内容。-*/#include#define N 9void rearr(int a, int n) in

7、t left,right,i; int bN; left=0; right=N-1; for(i=0; leftright; i+=2) bi=aleft+;/*SPACE*/ bi+1=a【】; if(left=right) bi=aleft; for(i=0;iN;i+)/*SPACE*/ ai=【】;int main() int i,aN=-11,-7,0,3,8,15,16,20,38; rearr(a,N); for(i=0;iz,B-y,.,Z-a 小写字母转换规则:z-A,y-B,.,a-Z 数字字符转换规则:0-9,1-8,.,9-0-注意:请勿改动程序中的其他内容。-*/#i

8、nclude#includevoid change(char s,char t) int i; for(i=0;si;+i) if(isalpha(si) ti=(isupper(si) Z-si+a : z-si+A); else if(isdigit(si) ti=9-si+0; else/*SPACE*/ 【】; ti=0;int main() char t100=7984 RH hSVVK BVZI,dRHS BLF TLLW OFXP!; char s100;/*SPACE*/ 【】; printf(%sn,s); return 0;答案:=(答案1)=ti=si=(答案2)=cha

9、nge(t,s)二、程序改错 共5题 (共计150分)第1题 (30.0分) 题号:575 难度:中 第1章/*-【程序改错】-题目:int sort(int a,int n)函数将n个元素的数组a中互不相 同的元素按升序排列,重新存入数组a中,函数返回按升序 排列后互不相同元素的个数。例如:数组a中元素为6,2,7,5,4,3,4,6,5,4,调用sort函数后, 函数值为6,主函数中输出排序后的数组a元素为 2,3,4,5,6,7。 请改正程序中的错误,使它能得出正确的结果。-注意:不得增行或删行,也不得更改程序的结构。-*/#include int sort(int a,int n) i

10、nt i,j,k,low,high,mid,t; for(k=i=1;in;i+) low=0; high=k-1; while(low=ai) high=mid-1; else low=mid+1; if(low=k|alow!=ai) /*FOUND*/ t=ai-1;/*FOUND*/ for(j=k;j=low;j-) aj+1=aj; alow=t; k+; return k; int main() int a =6,2,7,5,4,3,4,6,5,4; int i,n; n=sizeof(a)/sizeof(int); for(i=0;in;i+) printf(%dt,ai);/

11、*FOUND*/ sort(a,n); printf(nAfter sorting:n); for(i=0;i=low;j-)=(答案3)=n=sort(a,n);第2题 (30.0分) 题号:576 难度:中 第1章/*-【程序改错】-题目:函数unsigned delbits(unsigned x,unsigned p,unsigned n) 把非负整数x从左端第p(p1)位开始的n位删除,形成新的数 返回。例如:若x为12345,p为3,n为2,形成新的数为125。 若x为12345,p为6,n为2,形成新的数为12345。 若x为12345,p为3,n为4,形成新的数为12。 请改正程

12、序中的错误,使它能得出正确的结果。-注意:不得增行或删行,也不得更改程序的结构。-*/#include unsigned delbits(unsigned x,unsigned p,unsigned n) int a10,i,j,k; i=0; while(x) /*FOUND*/ ai=x%10; x/=10; k=i; for(i=0;ik/2;i+) ai+=ak-i-1; ak-i-1=ai-ak-i-1; ai=ai-ak-i-1; j=p-1;/*FOUND*/ for(i=p+n;i=k-1;i+) aj=ai; j+; k=j; for(i=0;ik;i+) /*FOUND*/

13、 x+=ai*10; return x;int main() unsigned x,p,n; printf(Input x(unsigned int):n); scanf(%u,&x); printf(Input p(unsigned int):n); scanf(%u,&p); printf(Input n(unsigned int):n); scanf(%u,&n); x=delbits(x,p,n); printf(After deleting x=%un,x); return 0;答案:=(答案1)=ai+= x%10;=或=ai=x%10,i+;=或=ai=x%10,+i;=或=ai

14、=x%10,i=i+1;=或=ai=x%10,i=1+i;=或=ai=x%10,i+=1;=或=ai=x%10;i+;=或=ai=x%10;+i;=或=ai=x%10;i=i+1;=或=ai=x%10;i=1+i;=或=ai=x%10;i+=1;=(答案2)=for(i=p+n-1;i=k-1;i+)=或=for(i=p-1+n;i=k-1;i+)=(答案3)=x=x*10+ai;=或=x=10*x+ai;=或=x=ai+x*10;=或=x=ai+10*x;第3题 (30.0分) 题号:577 难度:中 第1章/*-【程序改错】-题目:void move(int a,int n,int m)函

15、数将n个元素的一维 数组a循环左移m个位置, void change(int a,int n,int bN)函数将数组a按 行存入二维数组b,然后将b按列重新存入数组a。例如:数组a的元素为1,2,3,4,5,6,7,8,9,10,11,12,调用move函 数将a循环左移3个位置后,a的元素为 4,5,6,7,8,9,10,11,12,1,2,3,调用change函数后,a的元 素为4,8,12,5,9,1,6,10,2,7,11,3。 请改正程序中的错误,使它能得出正确的结果。-注意:不得增行或删行,也不得更改程序的结构。-*/#include #define M 3#define N 4

16、void move(int a,int n,int m) int i,t; while(m) t=a0; for(i=0;in-1;i+)/*FOUND*/ ai=ai+m; an-1=t; m-; void change(int a,int n,int bN) int i,j; for(i=0;in;i+)/*FOUND*/ bi/Mi-i/N=ai; for(i=0;iN;i+) for(j=0;jM;j+)/*FOUND*/ aj*M+i=bij;int main() int aM*N=1,2,3,4,5,6,7,8,9,10,11,12; int bMN,i,j,m; printf(Before movingnArray a:n); for(i=0;iM*N;i+) printf(%d ,ai); printf(nInput m:n); scanf(%d,&m); move(a,M*N,m); printf(nAfter movingnArray a:n); for(i=0;iM*N;i+) printf(%d ,ai); change(a,M*N,b); printf(nnAfter changingnArray b:n); for(i=0;iM;i+) for(j=0;jN;j+) printf(%d

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1