江苏计算机二级c语言考试题库(全国计算机二级C语言考试题库)求历届江苏省计算机等级考试二级C语言的试题及答案1.那么简单 连我这12岁的小孩都过了 你还过不了? 2.又没叫你讲指针……建议你重新学 3.最后推荐:C语言集成开发与实验环境 里面都有 4.建议你去读下《提问的智慧》 PS:是全国统考 求江苏省计算机二级C语言考试的各题分值?笔试两小时,分值六十。第一部分20分的计算机应用基础(一级内容),为20题的选择题。第二部分为C,有选择和填空,都是一分一题或一分一个空。上机七十分钟,分值四十。分改错和编程两题。 计算机二级报名方式 报名步骤 分为网上报名和现场报名。 网上报名:考生在规定时间内登录本省计算机资格网站,按照提示步骤完成注册,使用身份证号码报名。等待审核通过。目前,北京、河北、吉林、上海、江苏、安徽、河南、湖南、海南、重庆、广西、广东、甘肃和西藏等11个省级承办机构可实现网上报名。 现场报名:根据相关文件,按照文件指示。在规定时间内到规定地点报名。 缴费方式 分为网上缴费和现场缴费。 网上缴费:审核通过后,通过支付宝支付或网银支付缴费。北京、河北、上海、安徽、海南等8个省级承办机构同时支持网上缴费。此外,部分考点在本考点内实现网上报名和网上缴费。具体情况详见各省级承办机构公布的报名简章或与相关考点确认。 现场缴费:审核通过后,在规定时间内到指定地点进行现场缴费。 准考证领取 分为网上下载和现场领取 网上下载:缴费成功后,在考试前规定时间内,下载打印准考证。 现场领取:缴费后,在规定时间到指定地点领取准考证。 以上内容参考:百度百科-计算机二级考试 江苏省计算机二级C语言考试的内容题型?理论考试考试时间为120分钟,满分100分。 一、计算机应用基础30分。主要由: 1、计算机基础知识,20分左右,包括:计算机软硬件知识、二进制、计算机的组成知识、基本的网络理论等。2、操作系统的使用;如:文件夹的建立,文件属性的设置等。5分左右。 3、OFFICE 2000的基本使用,含WORD 排版、EXCEL及的POWERPOINT使用。5分左右 计算机基础知识 计算机发展史和计算机分类。 数的二进制、八进制、十进制、十六进制表示及其相互转换,二进制数的算术运算和逻辑运算,ASCII码。?常用术语:位、字节、字长、存储容量(K、M、G、T)。 计算机冯诺-依曼体系结构,微型计算机系统硬件组成及其各部分功能要点:计算机主机(中央处理器CPU、主存储器ROM、RAM)、计算机外存设备(软盘、硬盘、光盘)、输出输入设备(键盘、显示器、打印机)。 软盘、硬盘、光盘的基本知识:磁道、扇区、簇、存储容量,软盘的读写孔,写保护口,软盘、硬盘、光盘的正确使用和维护方法。? 计算机应用领域:数值计算与分析、信息保存与处理、自动控制与实时处理、人工智能与专家系统、各类计算机的辅助系统等。 ? 软件基础:软件的定义,常用软件及其分类,系统软件(操作系统、解释与编译、汇编)的基本概念,应用软件(字处理、表处理、实时处理和各种语言编写的实用程序等)的基本概念,指令和程序的概念,简单程序的 计算机网络的初步知识:计算机网络概念(网络的主要功能、分类、拓扑结构等),局域网(LAN)和广域网(WAN)的特点和基本组成,了解我国主要的四大网络系统,Internet网的基本概念和主要功能(电子邮件:E-mail、文件传输:FTP、远程登录:Telnet、电子布告栏:BBS等),目前与Internet网的连接方式(仿真终端、电话拨号、网络连接)。 ?多媒体的初步知识:多媒体的基本知识、超文本及超媒体的概念、多媒体计算机的系统组成等 操作系统的基本知识和使用 ?操作系统的基本概念和基本功能。 ?文件与目录:文件的标志、盘符、路径,当前盘符及其转换。 ?Windows2000的基本知识和使用 ? Windows2000的工作环境,鼠标的使用方法,桌面、图标、窗口的基本概念。 ?Windows2000的基本操作方法(启动和退出、窗口、对话框、帮助和汉字输入法的使用)。 ? 资源管理器的使用(文档和文件夹的概念,选定、 二、语言部分,占70分,考的语言不同内容各有变化但主要包括(以C语言为例): 1、语言的基本语法25分。主要有C语言的主要特点、各种数据类型、运算符与运算表达式、基本I/O结构应用、基本的程序控制结构、宏的基本定义、文件的基本应用等 2、程序阅读题30分。考核的主要内容为:选择结构、循环结构的应用、数组的应用、指针特别是指针与字符数组的关系应用、函数应用(参数传输,全局变量,局部变量应用等)。3、程序设计15分。主要是应该熟悉程序控制结构,数组,函数的应用。 全国和江苏省计算机二级C语言怎么考?全国计算机等级考试二级考试科目:二级一共九个科目,分成两类,一类是语言程序设计(C、C++、Java、Visual Basic),另一类是数据库程序设计(Access)。 全国计算机等级考试二级考试考核内容:二级定位为程序设计/办公软件高级应用级,考核内容包括计算机语言与基础程序设计能力。所有科目对基础知识作统一要求,使用统一的公共基础知识考试大纲和教程。二级公共基础知识在各科笔试中的分值比重为30%(30分)。程序设计部分的比重为 70%(70分),主要考查考生对程序设计语言使用和编程调试等基本能力。 全国计算机等级考试二级考试形式:二级所有科目的考试仅有上机考试部分。所有二级科目的上机时间统一为120分钟。 全国计算机等级考试二级考试系统环境:Windows 7、Visual C++6.0、Visual Basic 6.0、Access2010、NetBeans、My SQL(Community 5.5.16);Visual Studio 2010(C#)、MS Office2010。 全国计算机等级考试《二级C语言》题库【历年真题+章节题库+模拟试题】 刷题库可以用这个,里面基本上会有30-40%的原题 急求2010 计算机二级C语言上机题库说明:修改或填空内容在相应位置后用红色标识 1.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:将字符串s中所有的字符'c'删除。 #include stdio.h void main() { char s[80]; int i,j; gets(s); for(i=j=0;____ 1_ ____;i++) s[i]!=’\0’ if(s[i] != 'c') { s[j]=s[i]; ______2______ j++;} s[j]='\0'; puts(s); } 2.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入三个整数,按由小到大的顺序输出这三个数。 #include stdio.h void swap(______1______) int *pa,int *pb { /*交换两个数的位置*/ int temp; temp = *pa; *pa = *pb; *pb = temp; } void main() { int a,b,c,temp; scanf("%d%d%d",a,b,c); if(ab) swap(a,b); if(bc) swap(b,c); if(______2______) ab swap(a,b); printf("%d,%d,%d",a,b,c); } 3.在考生目录的Paper子目录下,有Modify.c文件,该文件中“***** N *****”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 输入一个字符串,将组成字符串的所有字符先按顺序存放到字符串t中,再将字符串中的字符按逆序连接到字符串t * 后面。例如:输入"ABCD",则字符串t为"ABCDDCBA"。 # include stdio.h # include string.h void fun(char *s,char *t) { int i,sl; sl=strlen(s); for(i=0;isl;i++) t[i]=s[i]; for(i=0;isl;i++) /********1********/ t[sl+i]=s[sl-i]; 改为:t[sl+i]=s[sl-i-1]; /********2********/ t[sl]="\0"; 改为:t[2*sl]=’\0’; } void main() { char s[100],t[100]; scanf("%s",s); fun(s,t); printf("%s",t); } 4.在考生目录的Paper子目录下,有Modify.c文件,该文件中“***** N *****”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 输入一个字符串,将组成字符串的所有非英文字母的字符删除后输出。 例如:输入"abc123+xyz.5",应输出"abcxyz"。 #include stdio.h #include string.h void main() { char str[256]; int i,j,k=0,n; gets(str); n=strlen(str); for(i=0;in;i++) /********1********/ if (tolower(str[i])'a' || tolower(str[i])'z') 改为:tolower(str[i])='a' tolower(str[i])='z' { /********2********/ str[n]=str[i]; n++; 改为:str[k]=str[i]; k++; } str[k]='\0'; printf("%sn",str); } 5.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:调用函数f计算代数多项式 1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x 当x=1.7时的值。 #include stdio.h float f(float,float*,int); void main() { float b[5]={1.1,2.2,3.3,4.4,5.5}; printf("%fn",f(1.7,b,5)); } float f( _______1________ ) float x,float a[],int n { float y=a[0],t=1; int i; for(i=1;in;i++) { t=t*x; y=y+a[i]*t; } _____2_____ return y; } 6.在考生目录的Paper子目录下,有Modify.c文件,该文件中“***** N *****”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 将输入的十进制整数n通过函数DtoH转换为十六进制数,并将转换结果以字符串形式输出。 例如:输入十进制数79,将输出十六进制4f。 # include stdio.h # include string.h char trans(int x) { if(x10) return '0'+x; /********1********/ else return 'a'+x; 改为:else return 'a'+x-10; } int DtoH(int n,char *str) { int i=0; while(n!=0) { str[i]=trans(n%16); /********2********/ n%=16; 改为:n/=16; i++;} return i-1; } void main() { int i,k,n; char *str; scanf("%d",n); k=DtoH(n,str); for (i=0;i=k;i++) printf("%c",str[k-i]); } 7.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:数列的第1、2项均为1,此后各项值均为该项前二项之和。计算数列第30项的值。 #include stdio.h _______1______ long f(int n); void main() { printf("%ldn",f(30)); } long f(int n) { if( ______2______ ) n==1||n==2 return 1; else return f(n-1)+f(n-2); } 8.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入1个整数后,输出该数的位数(若输入3214则输出4,输入-23156则输出5)。 #include stdio.h void main() { int n,k=0; scanf("%d",n); while( _____1_____ ) n!=0 { k++; _____2_____; n/=10 } printf("%dn",k); } 9.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:调用函数f,从字符串中删除所有的数字字符。 #include stdio.h #include string.h #include ctype.h void f(char *s) { int i=0; while(s[i]!='\0'){ if(isdigit(s[i])) ____1____(s+i,s+i+1); strcpy ___2___ i++;} else } void main() { char str[80]; gets(str); f(str); puts(str); } 10.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:分别统计字符串中英文字母、数字和其他字符出现的次数。 #include stdio.h #include ctype.h void main() { char a[80]; int n[3]={0},i; gets(a); ________1________ for(i=0;a[i]!=’\0’;i++) {if (tolower(a[i])='a' tolower(a[i])='z') /*统计字母个数*/ n[0]++; else if (________2________) /*统计数字个数*/ a[i])='0' a[i] ='9' n[1]++; else n[2]++; } for(i=0;i3;i++) printf("%dn",n[i]); } 11.在考生目录的Paper子目录下,有Modify.c文件,该文件中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:运行时若输入a、n分别为3、6,则输出下列表达式的值: 3+33+333+3333+33333+333333 #include stdio.h void main() { int i,a,n; long t=0; /********* 1 *******/ s=0; 改为:long s=0; scanf("%d%d",a,n); for(i=1;i=n;i++) { /******* 2 ******/ t=t*10+i; 改为:t=t*10+1; s=s+t; } s=s*a; printf("%ldn",s); } 12.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。 #include stdio.h #include math.h void main() { int n,s=0; scanf("%d",n); ______ 1 ______n=n0?n:-n; while(n!=0) { ______ 2 ______s+=n%10; n=n/10; } printf("%dn",s); } 13.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 找出100~999之间所有的Armstrong数。所谓Armstrong数是指这个3位数各位上数字的立方和等于自身。例如:371=3*3*3+7*7*7+1*1*1,那么371就是Armstrong数。 #include stdio.h #includemath.h void main() { int i,a,b,c; for(i=100;i=999;i++) { a=i/100; _______1_______ b=(i/10)%10; c=i%10; if (________2________) i==a*a*a+b*b*b+c*c*c printf("%d is a Armstrong number!n",i); } } 14.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入的一个小写字母,将字母循环后移5个位置后输出,如’a’变成’f’, ‘w’变成’b’。 #include stdio.h void main() { char c; c=getchar(); if(______1______) c='a' c='u' c=c+5; else if (c='v' c='z') ______2______ c=c-21; putchar(c); } 15.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。 #include stdio.h #include math.h #define f(x) x*x-5*x+sin(x) void main() { int x; float max; ______1______ max=f(1); for(x=2;x=10;x++) ______2______ if(f(x)max)max=f(x); printf("%fn",max); } 16.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:调用函数f,将1个整数首尾倒置,若程序输入12345,则输出54321; 若程序输入-34567,则输出-76543。 #include stdio.h #include math.h long f(long n) { long m,y=0; m=fabs(n); while(m!=0) { y=y*10+m%10; ____1____ m/=10; } if(n=0) return y; else _____2_____ return -y; } void main() { printf("%ldt",f(12345)); printf("%ldn",f(-34567)); } 17.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能: 求出a中各相邻两个元素的和,并将这些和存放在数组 b中,按每行3个元素的形式输出。例如: b[1]=a[1]+a[0],…………,b[9]=a[9]+a[8]。 #include stdio.h void main() { int a[10],b[10],i; printf("nInput 10 numbers: "); for (i=0; i10;i++) /* 数组输入 */ scanf("%d", a[i]); for (i=1; i10; i++) b[i]=______1______; b[i]=a[i]+a[i-1] /* 计算b数组中的元素 */ for (i=1; i10; i++) { printf("%3d",b[i]); if (______2______) printf("n"); i%3==0 /* 每行打印3个数据 */ } } 18.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入m、n(要求输入数均大于0),输出它们的最大公约数。 #include stdio.h void main() { int m,n,k; while(scanf("%d%d",m,n), _______1______ ); m=0||n=0 for( ____2____; n%k!=0||m%k!=0; k--); k=mn?n:m printf("%dn",k); } 19.在考生目录的Paper子目录下,有Modify.c文件,该文件中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入x和正数eps,计算多项式1-x+x*x/2!-x*x*x/3!+...的和直到末项的绝对值小于eps为止。 #include stdio.h #include math.h void main() { float x,eps,s=1,t=1,i=1; scanf("%f%f",x,eps); do { /***** 1 *****/ t=t*x/++i; 改为:t= -t*x/i++; s+=t; /***** 2 *****/ } while(fabs(t)eps) 改为:while(fabs(t)=eps) ; printf("%fn",s); } *20.在考生目录的Paper子目录下,有Modify.c文件,该文件中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:用选择法对10个整数按升序排序。 #include stdio.h #define N 10 void main() { int i,j,min,temp; int a[N]={5,4,3,2,1,9,8,7,6,0}; printf("nThe array is:n"); /* 输出数组元素 */ for (i=0;iN;i++) printf("%5d",a[i]); for (i=0;iN-1;i++) /* 排序操作 */ { min = i; for (j=i+1; jN; j++) /****** 1 ******/ if (a[min]=a[j]) min =j; 改为:if (a[min]=a[j]) { /****** 2 ******/ temp=a[min]; a[min]=a[j]; a[j]=temp; /*数据交换*/ 改为:temp=a[min]; a[min]=a[j]; a[j]=temp;} } printf("nThe sorted numbers: n"); /* 输出排序结果 */ for (i=0;iN;i++) printf("%5d",a[i]); printf("n"); } *27.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:调用函数f,求二维数组a中全体元素之和。 #include stdio.h float f(_______1______) float **x,int m,int n { float y=0; int i,j; for(i=0;im;i++) for(j=0;jn;j++) y=y+*(*(x+i)+j); return y; } void main() { float a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},*b[3]; int i; for(i=0;i3;i++)_______2______ b[i]=a[i]; printf("%.2fn",f(b,3,4)); } 2、在考生文件夹的Paper子文件夹下已有Modify1.c文件。 该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充。 (注意:不得加行、减行、加句、减句,否则后果自负)。 程序功能:该程序计算四位学生的平均成绩,保存在结构中,然后列表输出这些学生 的信息。 #include stdio.h struct STUDENT { char name[16]; int math; int english; int computer; int average; }; void GetAverage(struct STUDENT *pst) /* 计算平均成绩 */ { int sum=0; sum = ______1______; pst- math+ pst- english + pst- computer pst-average = sum/3; } void main() { int i; struct STUDENT st[4]={{"Jessica",98,95,90},{"Mike",80,80,90}, {"Linda",87,76,70},{"Peter",90,100,99}}; for(i=0;i4;i++) { GetAverage(______2______); st[i] } printf("NametMathtEnglishtComputAveragen"); for(i=0;i4;i++) { printf("%st%dt%dt%dt%dn",st[i].name,st[i].math,st[i].english, st[i].computer,st[i].average); } } 程序调试题(2) 说明:修改或填空内容在相应位置后用红色标识 *21.在考生目录的Paper子目录下,有Modify.c文件,该文件中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:输入n以及小于n个字符的字符串,将字符串中所有小写字母改为相应的大写字母后,输出该字符串。 #include stdio.h #include string.h #include stdlib.h void main() { int n,i; /***** 1 *****/ char str; 改为: char *str; scanf("%dn",n); str=(char*)malloc(n); gets(str); /***** 2 *****/ for(i=1;istrlen(str);i++) 改为:for(i=0;istrlen(str);i++) if(str[i]='a' str[i]='z') str[i]=str[i]-('a'-'A'); puts(str); } *22.在考生目录的Paper子目录下,有Modify.c文件,该文件中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:将一个char型数的高4位和低4位分离,分别输出,如22(二进制:00010110)输出为1和6。 #include stdio.h void main() { char a,b1,b2,c; scanf("%d",a); /****** 1 ******/ b1=a4; 改为:b1=a4; /*b1存放高4位*/ c=~(~04); /****** 2 ******/ b2=a|c; 改为:b2=ac; /*b2存放低4位*/ printf("%d,%d",b1,b2); } *23.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:调用函数f用以求1元2次方程 x*x+5*x-2=0 的实根。 #include stdio.h #include math.h int f(_______1______) float *x1,float *x2, float a, float b, float c { if(b*b-4*a*c0) return 1; *x1=(-b+sqrt(b*b-4*a*c))/2/a; *x2=(-b-sqrt(b*b-4*a*c))/2/a; _______2______ } void main() { float u1,u2; float a=1,b=5,c=-2; if(f(_______3______)==1) u1,u2,a,b,c printf("实数范围内无解n"); else printf("%.2f%.2fn",u1,u2); } *24.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:函数f将数组循环左移k个元素,数组x[7]调用函数f后的输出结果为:4 5 6 7 1 2 3 #include stdio.h void f(int *a,int n,int k) { int i,j,t; for(i=0;ik;i++) { _______1______ t=a[0]; for(_______2______) j=1;jn-1;j++ a[j-1]=a[j]; a[n-1]=t; } } void main() { int i,x[7]={1,2,3,4,5,6,7}; f(x,7,3); for(i=0;i7;i++) printf("%5d",x[i]); printf("n"); } 25.在考生目录的Paper子目录下,有Modify.c文件,该文件中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:运行时输入n,输出n各位数字之和(如n=1308则输出12,n=-3204则输出9)。 #include stdio.h #include math.h void main() { int n,s=0; scanf("%d",n); n=fabs(n); /******** 1 *******/ while(n0){ 改为:while(n0) { s=s+n%10; /******** 2 ******/ n=n%10; 改为:n=n/10; } printf("%dn",s); } 26.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:输入整数n(n0),求m使得 2的m次方小于或等于n、2的m+1次方大于或等于n。 #include stdio.h void main() { int m=0,t=1,n; while(_______1______); scanf(“%d’,n),n=0 while(!(t=nt*2=n)){ _______2______ t=t*2; m++; } printf("%dn",m); } *27.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:调用函数f,求二维数组a中全体元素之和。 #include stdio.h float f(_______1______) float **x,int m,int n { float y=0; int i,j; for(i=0;im;i++) for(j=0;jn;j++) y=y+*(*(x+i)+j); return y; } void main() { float a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},*b[3]; int i; for(i=0;i3;i++)_______2______ b[i]=a[i]; printf("%.2fn",f(b,3,4)); } 28.在考生目录的Paper子目录下,有Modify.c文件,该文件中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:输入n,再输入n个点的平面坐标,然后输出那些距离坐标原点不超过5的点的坐标值。 #include stdio.h #include math.h #include stdlib.h void main() { int i,n; /***** 1 *****/ struct axy { float x,y; } a; 改为:struct axy { float x,y; } *a; scanf("%d",n); a=(float*) malloc(n*2*sizeof(float)); for(i=0;in;i++) /***** 2 *****/ scanf("%f%f",a[i].x,a[i].y); 改为:scanf("%f%f",a[i].x,a[i].y); for(i=0;in;i++) if(sqrt(a[i].x*a[i].x+a[i].y*a[i].y)=5) printf("%f,%fn",a[i].x,a[i].y); } 增加新题(程序调试题): 1、在考生文件夹的Paper子文件夹下已有Modify1.c文件。 该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充。 (注意:不得加行、减行、加句、减句,否则后果自负)。 程序功能:调用函数f,去除数组中的负数,输入数组x[7],输出结果为:1 3 4 6 #include stdio.h void f(int *a,int *m) { int i,j; for(i=0;i*m;i++) if(a[i]0) { for(j=i--;j*m-1;j++) a[j]=a[j+1]; _____1_____; (*m)-- } } void main() { int i,n=7,x[7]={1,-2,3,4,-5,6,-7}; _______2_______; f(x,n) for(i=0;in;i++) printf("%5d",x[i]); printf("n"); } 2、在考生文件夹的Paper子文件夹下已有Modify1.c文件。 该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充。 (注意:不得加行、减行、加句、减句,否则后果自负)。 程序功能:该程序计算四位学生的平均成绩,保存在结构中,然后列表输出这些学生 的信息。 #include stdio.h struct STUDENT { char name[16]; int math; int english; int computer; int average; }; void GetAverage(struct STUDENT *pst) /* 计算平均成绩 */ { int sum=0; sum = ______1______; pst- math+ pst- english + pst- computer pst-average = sum/3; } void main() { int i; struct STUDENT st[4]={{"Jessica",98,95,90},{"Mike",80,80,90}, {"Linda",87,76,70},{"Peter",90,100,99}}; for(i=0;i4;i++) { GetAverage(______2______); st[i] } printf("NametMathtEnglishtComputAveragen"); for(i=0;i4;i++) { printf("%st%dt%dt%dt%dn",st[i].name,st[i].math,st[i].english, st[i].computer,st[i].average); } } 3、在考生文件夹的Paper子文件夹下已有Modify1.c文件。 该文件中“/***** N ***** /”的下一行中有错误,请改正。 (注意:不得加行、减行、加句、减句,否则后果自负)。 程序功能:运行时输入n,输出n的所有质数因子。 (例如:n=13860,则输出2、2、3、3、5、7、11) #include stdio.h void main() { int n,i; scanf("%d",n); /****** 1 ******/ i=1; 改为: i=2; while(n1) if(n%i==0) { printf("%dt",i); n/=i; } else /******** 2 *******/ n++; 改为: i++; } |