福建省计算机二年级C语言上机题解析
福建省计算机等级考试(二级C语言)上机考试试题题库汇编〈华侨大学学生可参考〉
福建省计算机等级考试(二级C语言)上机考试试题题库汇编一、选择题(每套共20小题,每题2分,共40分)(50100) 在C语言中,合法的字符常量是()。
(A) '字' (B) "A" (C) "ABC" (D) '\x41'(50119) ()不属于结构化程序设计的三种基本控制结构。
(A) 选择结构 (B) 循环结构(C)嵌套结构 (D) 顺序结构(50120) 函数是C源程序的基本单位,一个函数由函数的首体和()两部分组成。
(A)函数体 (B) 语句体 (C) 结构体 (D) 联合体(50121) 能将C源程序转换为目标程序的软件是()。
(A) 汇编程序(B)编译程序 (C) 编辑程序 (D) 解释程序(50122) 下列叙述正确的是()。
(A)注释部分可在C源程序单独占一行,也可跟在一行语句后面(B) 花括号"{ }"只能用作函数体的定界符(C) 函数是C源程序的基本单位,所有函数名都可以由用户命名(D) 分号是C语句之间的分隔符,并不表示一条语句的结束(50123) C源程序的基本单位是()。
(A) 子程序 (B) 复合语句 (C) 过程 (D)函数(50200) C语言的下列运算符中,优先级最高的运算符是()。
(A) ++ (B) += (C) || (D) !=(50219) 整型常量没有()形式。
(A)二进制 (B) 八进制 (C) 十进制 (D) 十六进制(50220) 合法的长整型常量是()。
(A) 6246245 (B) 1E10 (C) 0L (D) (Long)6246245(50221) 合法的字符常量是()。
(A) '\' (B) 'xx' (C) '\\' (D) "x"(50222) 正确的常量是()。
(A) 'a3' (B) 1E6.1 (C) E-3 (D) "\0"(50223) 合法的用户标识符是()。
计算机二级C语言上机试题库和答案解析(100套)
完美WORD格式计算机二级 c 语言上机题库及答案内部资料,切勿外传!.第 1 套填空题请补充 FUN 函数,FUN 函数的功能是求 10 的阶乘。
注意:部分源程序给出如下。
请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。
试题程序:#include<stdio.h>longfun(int n){if ( 1 )return (n*fun( 2));return 3;}main(){printf("10!=%ld\n", fun(10));}第 1 处填空:n>1 或 1<n第 2 处填空:n-1第 3 处填空:1 或 11 或 1L改错题下列给定程序的功能是:读入一个整数 K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。
例如,若输入整数 2310,则应输出:2、3、5、7、11。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(intn);{int i,m;m =1;/********found********/for (i=2; i<n;i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %dis(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第 1 处:Isprime(int n);应改为Isprime(int n)第 2 处:if !(n%i)应该为if(!(n%i))编程题M 个人的成绩存放在 score 数组中,请编写函数 fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。
计算机二级C语言上机复习题及答案解析范文一份
计算机二级C语言上机复习题及答案解析范文一份计算机二级C语言上机复习题及答案解析 1计算机二级C语言上机复习题及答案解析填空题给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到则输出相应信息。
ss所指字符串数组__有N个字符串,且串长小于M。
程序中库函数strstr(s1, s2)的功能是在s1串中查找s2子串,若没有,函数值为0,若有,为非0。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#include#include#define N 5#define M 15void fun(char (*ss)[M], char *substr){ int i,find=0;for(i=0; i __1__ ; i++)if( strstr(ss[i], __2__) != NULL ){ find=1; puts(ss[i]); printf(“\n"); }if (find==__3__) printf("\nDon't found!\n");}main(){ char x[N][M]={"BASIC","C langwage","Java","QBASIC","Access"},str[M];int i;printf("\nThe original string\n\n");for(i=0;i printf("\nEnter a string for search : "); gets(str);fun(x,str);}解题思路:本题是根据给定的字符串数组中查找指定的字符串,如果存在,则显示。
计算机二级C语言考试上机试题及答案
xx年计算机二级C语言考试上机试题及答案1.算法的空间复杂度是指( )。
A.算法程序的长度B.算法程序中=的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间2.以下表达中正确的选项是( )。
A.一个逻辑数据构造只能有一种存储构造B.逻辑构造属于线性构造,存储构造属于非线性构造C.一个逻辑数据构造可以有多种存储构造,且各种存储构造不影响数据处理的效率D.一个逻辑数据构造可以有多种存储构造,且各种存储构造影响数据处理的效率3.简单的交换排序方法是( )。
A.快速排序B.选择排序C.堆排序D.冒泡排序4.关于构造化程序设计原那么和方法的描述错误的选项是( )。
A.选用的构造只准许有一个入口和一个出口B.复杂构造应该用嵌套的根本控制构造进展组合嵌套来实现C.不允许使用GOT0语句D.语言中假设没有控制构造,应该采用前后一致的方法来模拟5.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和( )。
A.可重用性差B.平安性差C.非持久性D.冗余性6.面向对象的设计方法与传统的面向过程的方法有本质不同,它的根本原理是( )。
A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.不强调模拟现实世界中的算法而强调概念7.对如下二叉树进展后序遍历的结果为( )。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA8.软件设计包括软件的构造、数据接口和过程设计,其中软件的过程设计是指( )。
A.模块间的关系B.系统构造部件转换成软件的过程描述C.软件层次构造D.软件开发过程9.两个或两个以上模块之间关联的严密程度称为( )。
A.耦合度B.内聚度C.复杂度D.数据传输特性10.以下描述错误的选项是( )。
A.继承分为多重继承和单继承B.对象之间的通信靠传递消息来实现C.在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征D.类是具有共同属性、共同方法的对象的集合11.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是( )。
全国计算机等级考试2级C语言上机考试例题讲解PPT课件
三、上机编程题考点总结
二级C语言上机编程题在二级上机考试中属于较难题型,因 此很多同学都害怕通过不了。综合往年的考试,结合考试大纲, 每年考试的编程题都有一定的规律和方法,只要同学们认真、 熟练掌握做题的方法和技巧,通过考试是没有问题的。
下面介绍常考题型
10
类型一:数学问题,公式类型
[例1]:求小于n能同时被3和7同时整除的所有自然 数之和的平方根。
2级C语言上机考试例题讲解
1
2级考试的上机题型有:
1。填空题(30分,2~3个) 2。改错题(30分,2~3个) 3。程序编写题(40分,一定记得调试运行,否则没分!)
1、2 题是按照每个考点的答案给分的,也就是说只有和标准 答案一致的才是正确的 。虽然和标准答案不同也有可能运行 正确 ,但是也不能得分 。不过不用担心这个 ,因为题目简单 相应的正确答案的种类也少, 所以运行正确就OK ;3题要求 最高、 也最灵活 ,只要能写出符合题目要求功能的代码就可 以得40分。
须把整数1改为1.0;若变量或表达式是整型时,则只能进 行强制类型转换。
5、 字符串类问题 若错误行中有字符串结束符,则特别要注意结束符
有没有写错。注意要区分字符‘o’和数字’0’。
6、 指针类问题 若错误行中有指针变量,并且该变量名之前没有指
针运算符,则一般都是加上指针运算符;
8
7、 函数首部类问题
float fun(int n) {
{ int i,sum=1; double s=1.0; for(i=2;i<=n;i++) {sum=sum+i; s=s+1.0/sum ;} return s;
} }
12
通过上面问题的探讨,大家自己来解决以下两个问题:
计算机二级C语言上机题库答案大全及上机说明
int i,j=0;
for(i=0;i<strlen(s);i+=2)
if(s[i]%2==0) t[j++]=s[i];
t[j]='\0';
10、程序填空题
给定程序中,函数fun的功能是:计算出带有头结点的单向链表中各节点数据域中值之和作为函数值返回。
填空:(1) data (2) next (3) head
{
If( (ss[i]>='a'&&ss[i]<='z') ss[i]-=32;
9、程序填空题
给定程序中,函数fun的功能是:统计出带有头结点的单向链表中节点的个数,存放在形参n所指的存储单元中。
填空:(1) *n (2) next (3) head
改错:(1) a=NULL; (2) if(*r==*p)
n++;
p++;
}
while(*q) /*计算串t的长度m,其中q为临时指针*/
{
m++;
q++;
}
if(n>=m) /*比较m和n的值,设置p指向较大的指针*/
p=s;
else
p=t;
return p;
7、程序填空题
给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的节点,使之只保留一个。
while(*p)
{if(*p>='a' &&p<='z')
计算机二级C语言上机编程题详细分析
计算机二级C语言上机编程题详细分析计算机二级C语言上机编程题详细分析相信不少同学都认为计算机二级C语言上机编程题很难,所以今天店铺为大家带来计算机二级C语言上机编程题详细分析,希望各位考生考出理想成绩。
1、请编一个函数fun,它的功能是:根据以下公式求π的值(要求满足精度0.0005,即,某项小于0.0005时停止迭代):程序运行后,如果输入精度0.0005,则程序输出多少。
注意:部分源程序存在PROG1.C中,请勿改动主函数和其他函数中的内容,仅在函数fun的指定的部位填入你编写的若干语句。
试题源程序如下:#include#includedouble fun(double eps){}main(){ double x;printf("Input eps:");scanf("%lf",&x); printf(" eps=%lf, PI=%lf ",x,fun(x));}分析:(1)本题所用基本算法应为累加。
假设累加值放在变量s中,累加项放在变量t中,累加操作由语句s=s+t;来实现。
(2)若称为第1累加项,则其前的1为第0累加项,其后的一项为第2累加项,按给定的公式可知,从第1累加项开始,后一项的累加项是前一项的值乘以。
所以当前的累加项应当是:t=t*n/(2.0*n+1.0)。
表达式右边的t中是前一项的值,表达式左边的t为当前的每累加累加项。
请注意,不要写成:t*n/(2*n+1)而进行整除。
(3)若第0累加项的1作为s的初值,语句:s=s+t;执行n次,就把第1到第n项累加到了s中。
每进行一次累加,n值增1。
(4)把以上操作放在循环中。
按本题规定,当某项小于eps(0.0005)时停止迭代,因此若用while循环,可用t>=eps作为控制循环进行的条件:while( t>=eps ){ s+=t; n++; t=t*n/(2.0*n+1); }(5)注意应给所用变量赋适当的初值。
福建省计算机二年级C语言上机题解析
福建省计算机二年级C 语言上机题解析精选文档TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-第一部分:程序修改题#include <>#include <>#include <>#include <>void main(){ char str1[100], t[200];int i, j;/**/ i = 0; /**/ 改成j = 0;clrscr();strcpy(str1, "4AZ18cGe9a0z!");for (i = 0; i<strlen(str1); i++){/**/ if ((str1[i] %2== 0) && (i%2!=0)) /**/ 改成i%2 ==0 {t[j] = str1[i];j++;}}t[j] = '\0';printf("\n Original string: %s\n", str1);printf("\n Result string: %s\n", t);}#include <>#include <>#include <>#include <>#define M 50double fun(int n){ double y = ;int i,j;j=0;for(i=1;;i++){/**/ if((i<10)&&(i%3==0)) /**/ 改成i>10 {/**/ y+=1/i; /**/ 改成y+=i;j++;}if(j==n) break;}}void main(){ clrscr();printf("fun(8) = %\n", fun(8));}#include <>void main(){/**/ int i,j;/**/ 改成int i,j,k; for(i=1;i<=6;i++){for(k=1;k<=10+i;k++)printf(" ");for(j=1;j<=7-i;j++)printf("*")/**/ : /**/ 改成; printf("\n");}getch();}#include <>/**/int fun();/**/ 该处不是函数说明,应该去掉分号{ int hen,cock,chicken,n=0;clrscr();for(cock=0;cock<=50;cock+=1)for(hen=0;hen<=100;hen=hen+1){ chicken=2*(100-hen-2*cock);/**/ if(cock+hen+chicken=100) /**/ 赋值号改成=={ n++;printf("%d-->hen:%d,cock:%d,chicken:%d\n",n,hen,cock,chicken); if(n==20) getch();}}return n;}void main(){ int num;num=fun();printf("\n There are %d solutions.\n",num);getch();}#include <>void main(){ int m,n,result,flag=0;/**/ char ch, /**/基本语法错误,逗号改成分号clrscr();printf("Input an expression: ");scanf("%d%c%d",&m,&ch,&n);/**/ switch ch /**/基本格式错误,改成switch(ch) { case '+': result=m+n; break;case '-': result=m-n; break;case '*': result=m*n; break;case '%': result=m%n; break;case '/': result=m/n; break;default: { printf("Error!\n"); flag=1; }}if (!flag) printf("%d %c %d = %d\n",m,ch,n,result); getch();}#include <>#include <>void main(){char s[20]="table left 100",t[20];/**/ char tab[4,2]={{'a','f'},{'b','e'},{'e','a'},{'f','b'}}; /**/ 数组定义形式错误,改成char tab[4][2]int i,j=0;strcpy(t,s);while(t[j]){for(i=0;i<=3;i++){if(t[j]==tab[i][0]){/**/ t[j]=tab[i][2]; /**/改成t[j]=tab[i][1];break;}}j++;}printf("\nThe source string: %s\n",s);printf("\nThe target string: %s\n",t);getch();}#include <>#include <>main(){char str1[128];/**/ int i,len; sum=0; /**/基本语法错误,改成int i,len, sum=0; printf("\nPlease input the string: ");gets(str1);len = strlen(str1);for(i=0; i<len; i++){/**/ if( str1[i] >= '0' || str1[i] <= '9') /**/逻辑错误,||改成&&sum++;}printf("%d\n",sum);getch();}#include <>#include <>#define M 8main(){ int a[M],i;printf("Please input 8 numbers:\n");for(i=0; i<M; i++)scanf("%d", /**/ a[i] /**/);输入列表项必须指定地址,改成&a[i] printf("Inverse order is: \n");/**/ for(i=M-1; i<=0; i--) /**/ 循环判断条件表示错误,改成i>=0 printf("%d ", a[i]);printf("\n" );getch();}#include <>#include <>main(){/**/ char str1 /**/;此处必须定义成字符数组,改成char str1[50] int i,len, sum=0;printf("Please input a string:\n");scanf("%s", str1);len = strlen(str1);for(i=0; i<len; i++){if( str1[i] >= 'A' && str1[i] <= 'Z')/**/ sum--; /**/ 改成sum++;}printf("%d\n",sum);getch();}#include <>#include <>/**/ #include M 5 /**/宏定义错误,改成#define M 5 main(){int a[M],i;printf("Please input 5 numbers:\n");for(i=0; i<M; i++)scanf("%d", &a[i]);printf("Even numbers:\n" );for(i=0; i<M; i++)/**/ if( a[i]/2 ==0) /**/判断偶数应该改成a[i]%2 ==0printf("%d ", a[i]);printf("\n" );getch();}#include <>#include <>main(){char str1[128], str2[128];int i,len;gets(str1);len = strlen(str1);/**/ for(i=0; i>len; i++) /**/循环条件表示错误,改成for(i=0; i<len; i++) {if( str1[i] >= '0' && str1[i] <= '8')str2[i] = str1[i] + 1;else if(str1[i] == '9')str2[i] = '0';elsestr2[i] = str1[i];}/**/ str2[i] = '\n'; /**/字符串的结束标识应该用'\0'表示puts(str2);getch();}#include <>#include <>void main(){char s1[30]="People's Republic of ", s2[]="China";char * ps1,*ps2;/**/ ps1 = NULL; /**/指针ps1指向字符串s1,改成ps1 = s1;ps2=s2;/**/ while(*ps1 == NULL) /**/判断是否到达串尾标识,应改成*ps1!='\0' ps1++;while(*ps2)*(ps1++) = *(ps2++);printf("\n%s\n",s1);getch();}#include <>#include <>void main(){float a[3],s,area;int i;printf("Please input 3 numbers:\n");for(i=0; i<3; i++)scanf("%f",/**/ a[i] /**/);输入列表项必须指定地址/**/ if( a[0]+a[1]>a[2] || a[1]+a[2]>a[0] || a[0]+a[2]>a[1] ) /**/ 逻辑条件标识错误,||改成&&{s = (a[0]+a[1]+a[2])/2;area = sqrt(s*(s-a[0])*(s-a[1])*(s-a[2]));printf("area is %.2f\n",area);}elseprintf("error.\n");getch();}#include <>#include <>/**/ void fun() /**/此处说明函数有返回值,改成int fun(){int large,middle,small,n=0;clrscr();for( large=0;large<=33;large++ )for( middle=0;middle<=50;middle++ ){small = 2*(100-3*large-2*middle);/**/ if( large+middle+small=100 ) /**/ = 改成 =={n++;printf("%d-->large:%d,middle:%d,small:%d\n",n,large,middle,small); }}return n;}void main(){int num;num = fun();printf("\n There are %d solutions.\n",num);getch();}#include <>void main(){int i;/**/ for( i=100; i<200; i++ ); /**/for语句错误,此处去掉分号if((i-2)%4 == 0)if( !((i-3)%7) )if( i%9 == 5 )printf("%d\n",/**/ &i /**/); 去掉地址符号&getch();}#include <>/**/ void swap(int p1,int p2) /**/改成void swap(int *p1,int *p2) {int temp;temp = *p1;/**/ p1 = p2; /**/ 改成*p1 = *p2;*p2 = temp;}void main(){int a,b;printf("please input 2 numbers:\n");scanf("%d%d",&a,&b);printf("\nOriginal: a=%d b=%d\n",a,b);swap(&a,&b);printf("\nResult: a=%d b=%d\n",a,b);getch();}#include <>void main(){int b,i;/**/ int a=c=0; /**/基本语法错误,改成int a=0,c=0;/**/ for( i=0,i<=100,i+=2 ) /**/for语句语法错误,改成for( i=0;i<=100;i+=2 ) {a+=i;b=i+1;c+=b;}printf("total of even numbers: %d\n",a);printf("total of odd numbers: %d\n",c-101);getch();}#include <>void main(){int x,y,z,i,result=520;for( x=1;x<10;x++ )for( y=1;y<10;y++ )/**/ for( z=1;z<10;z++ ) /**/z初值应为0,改成for( z=0;z<10;z++ ) {i=100*x+10*y+z+100*y+10*z+z;/**/ if (i=result) /**/逻辑关系等于应该为i==resultprintf("x=%d,y=%d,z=%d\n",x,y,z);}getch();}#include <>#define F(x) (x**x+/(x+void main(){float a=,b=,c;/**/ int s; /**/变量类型错误,改成float s;printf("\nPlease input c: ");scanf("%f",/**/ c /**/);输入列表项必须加地址&c/**/ s=F(a,b,c); /**/printf("\ns=%.2f\n",s);getch();}#include <>void main(){int f,s,t,n;printf("\nThe list is:\n");for(n=100;n<1000;n++){f=n%10; f为个位数s=(n%100)/10; s为十位数/**/t=n%100; /**/ t为百位数,应改成t=n/100;/**/if(t*t*t+s*s*s+f*f*f=n)/**/ =应改成== printf("%d ",n);}printf("\n");getch();}第二部分:程序填空题#include <>void main(){ /**/ long /**/ p;int i;p=1;/**/ for /**/(i=1;i<=8;i++)p=p*i;printf("\np=%ld", p);getch();}#include <>void main(){int a,b,c;float f;clrscr();printf("Please input a b :");scanf("%d%d",&a,&b);f=/**/*a/b /**/;c=/**/ (int) /**/ (f*100)%10;printf("\n a/b=%f The second decimal place is: %d\n",f,c); getch();}#include <>#include <>int max,min;void find_max_min(int *p,int n){int *q;max=min=*p;for(q=p; q</**/ p+n /**/; q++)if(/**/ max<*q /**/ ) max=*q;else if(min>*q) min=*q;}void main(){int i,num[10];printf("Input 10 numbers: ");for(i=0;i<10;i++) scanf("%d",&num[i]);find_max_min(/**/ num /**/,10);printf("max=%d,num=%d\n",max,min);}#include <>void main(){int a,b,k;int plu = /**/ 403 /**/;for(a=1; a<10; a++)for(b=1; b<10; b++){k = (a*10+b) * /**/ (b*10+a) /**/ ;if(k==plu) printf("A = %d, B = %d\n",a,b); }}#include <>void main(){int n,a,b;/**/a=0;b=0;/**/scanf("%d",&n);while(/**/ n!=0 /**/){if(n>0) a++;else /**/ b++; /**/scanf("%d",&n);}printf("Positive integer: %d, negative integer: %d\n",a,b); }#include <>#include <>int prime(int n){ int k,flag=1;for(k=2; k<=n/2+1; k++)if (n%k==0) { flag=/**/ 0 /**/ ; break;}return flag;}void main(){ int num, a;clrscr();do{ printf("Please input an even number:");scanf("%d", &num);}while(num<=6||num%2==1);for(a=2;a<=num/2+1;a++)if(prime(a) && prime(/**/ num-a /**/))printf("\n %d = %d + %d ", num, a, num-a); }#include <>#include <>/**/ main() /**/{ float x,x0,f,f1;x=;do{ x0=x;f=((2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x=x0-f/f1;}/**/ while /**/(fabs(x-x0)>=1e-6);printf("the root is: %.2f\n",x);}#include <>main(){/**/ char /**/ str[20];int i;float x;printf("Please input a string:\n"); scanf("%s",/**/ str /**/ );i=0;while(str[i]){str[i]=/**/ str[i]^15; /**/i++;}printf("\n Target string: %s\n", str); getch();}#include <>main( ){int a[5]={20,30,45,64,23};float m;/**/ float average(int pa[],int n); /**/ m=average(a, 5 );printf("Average=%f\n",m);getch();}float average(int pa[] ,int n){ int k;float avg=;for(k=0;k<n;k++)avg=avg+/**/ pa[k] /**/;avg= avg/n;return avg;}#include <>main(){/**/ char /**/ s[80];int i;printf("Please input a string:");for(i=0;(s[i]=getchar())!='\n';i++);s[i]='\0';for(i=0;s[i]!='\0';i++){ if(s[i]>='a'&&s[i]<='z')s[i]=s[i]-32;/**/ else if /**/( s[i]>='A'&&s[i]<='Z' ) s[i]=s[i]+32;printf("%c",s[i]);}getch();}#include <>#include <>void sort(int a[], int m){ int i, j, t,swap;for( i=0; i< /**/ m-1 /**/ ; i++ ){swap = 0;for( j=0; j < m-i-1; j++){if /**/ (a[j]<a[j+1]) /**/{swap = 1;t = a[j];a[j] = /**/ a[j+1] /**/;a[j+1] = t;}}if(!swap) break;}}void main(){int a[] = {23,55,8,32,18,2,9};int i,k = sizeof(a)/sizeof(int);sort(a,k);for(i=0;i<k;i++)printf("%d ",a[i]);printf("\n");getch();}#include <>#include <>int fun(/**/ float a,float b,float c /**/) {float temp;int bTrue = 0;if(a<b){ temp = a;a = b;b = temp;}if(a<c){ temp = a;a = c;c = temp;}if( fabs(/**/ a*a /**/ - (b*b + c*c)) <bTrue = 1;return bTrue;}main(){float a,b,c;printf("Please input three numbers:\n"); scanf("%f%f%f",&a,&b,&c);if( fun(a,b,c) == 1)printf("Yes\n");elseprintf("No\n");getch();}#include <>main(){ int x;printf("Please input a number:\n");scanf("%d",/**/ &x /**/);printf("%d*%d=%d\n", x,x,/**/ x*x /**/); getch();}#include <>#include <>void sort(int a[], int m){ int i, j, k, t;for( i = 0; i < m-1; i++ ){ k = i;for( j=i+1; j< /**/ m /**/; j++)if( a[j] < a[k] ) /**/ k=j /**/;if( k != i ){ t = a[k];a[k]= a[i];a[i] = /**/ t /**/;}}}void main(){int a[] = {72,25,58,32,2,15,7,64};int i,m = sizeof(a)/sizeof(int);sort(a,m);for(i=0;i<m;i++)printf("%d ",a[i]);printf("\n");getch();}#include <>main(){float a,b,c,max;/**/float fmax(float x,float y,float z); /**/ printf("Please input 3 integer:\n");scanf("%f%f%f",&a,&b,&c);max=fmax(a,b,c);printf("The max number is:%.2f\n", max); getch();}float fmax(float x,float y,float z){float m,n;n=(y>z)y:z;m=/**/ (x>n)x:n; /**/return(m);}#include <>#include <>main(){int i,/**/ j /**/;int a[4][4],sum;sum=/**/0 /**/;printf("Please input 16 numbers:\n");for(i=0; i<4;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<4;i++)/**/ sum+=a[i][0]; /**/printf("%d\n",sum);getch();}#include <>int fun(int a[],int n,/**/int q /**/) {int left,right,mid;left= 0 ;right = n-1;while(left <= right){ mid= /**/(left+right)/2 /**/;if( q < a[mid] ) right = mid-1;else if( q > a[mid]) left = mid+1; else return mid;}return -1;}main(){ int a[]={3,4,6,11,17,22,31,45};int k,n;n = sizeof(a)/sizeof(int);k = fun(a,n,31);printf("%d\n",k);getch();}#include <>#include <>int fun(/**/float r /**/,float x,float y){int bIn;bIn = /**/sqrt(x*x+y*y) /**/ < r ;return bIn;}main(){float r=-1,x,y;int bIn;while(r<0){ printf("Please input radius r (r>0):\n"); scanf("%f", &r);}printf("Please input the dot(x,y):\n"); scanf("%f%f",&x,&y);bIn = fun(r,x,y);if(bIn == 1)printf("in the circle!\n");elseprintf("out of the Circle!\n");getch();}#include<>/**/#include<> /**/double fun(double x){/**/return x*x-2*x+6; /**/}void main(){double x,y1,y2;clrscr();printf("Please input x:");scanf("%lf",&x);y1=fun(x+8);y2=fun(/**/sin(x) /**/);printf("\nf(x+8)=%.3lf",y1);printf("\nf(sinx)=%.3lf",y2);getch();}#include<>double fun(unsigned m,unsigned n) {unsigned i;double p=;for(i=1;i<=m;i++)/**/p=p*i; /**/for(i=1;i<=n;i++)/**/p=p/i; /**/for(i=1;i<=m-n;i++)p=p/i;return p;}void main(){clrscr();printf("p=%f\n",fun(13,7));getch();}#include<>int findmax(int* array,int size);void main(){int a[]={33,91,23,45,56,-12,32,12,5,90};clrscr();printf("The max is %d\n",/**/findmax(a,10) /**/); getch();}int findmax(int *array,int size){int i, /**/max=*array /**/;for(i=1; i<size; i++)if(array[i]>max) max=array[i];return max;}#include<>unsigned sum(unsigned n){unsigned i,/**/sum=0;/**/for(i=1;i<=n;i++)sum+=i;/**/return sum;/**/}void main(){int m;clrscr();printf("Please input a unsigned integer:"); scanf("%d",&m);while(m<0){printf("Please input a unsigned integer:"); scanf("%d",&m);}printf("\nThe sum is %d\n",/**/sum(m)/**/); getch();}#include<>#include<>void main(){int i,j;char str[]="1234567", /**/ k /**/;for(i=0,/**/j=strlen(str)-1 /**/;i<j;i++,j--) {k=str[i];str[i]=str[j];str[j]=k;}clrscr();printf("%s\n",str);getch();}#include<>#include<>typedef struct{int num;char name[20],sex[2];int age,score;}STU;STU mystudent[]={{1111,"Zhangqiang","m",20,80},{2104,"Liminghong","w",18,82},{3121,"Wangxingda","m",21,78},{4118,"Liushaotao","m",20,90},{1456,"Wuminghong","w",35,86} };void sort(STU* ps, int size){int i,flag,pass;/**/ STU temp; /**/for(pass=1;pass<size;pass++){flag=0;for(i=0;i<size-pass;i++)if(/**/ps[i].num>ps[i+1].num /**/){flag+=1;temp=ps[i];ps[i]=ps[i+1];ps[i+1]=temp; }if(/**/flag>size /**/) break;}}void main(){int i,size=sizeof(mystudent)/sizeof(STU);clrscr();printf("Students\' information before sort:\n\n");printf("Number Name age Sex score\n\n");for(i=0;i<size;i++)printf("%-7d%s%10d\t%s%8d\n",(mystudent+i)->num, (mystudent+i)->name,(mystudent+i)->age,(mystudent+i)->sex, (mystudent+i)->score);sort(mystudent,size);printf("\nStudents\' information after sort:\n\n");printf("Number Name age Sex score\n\n");for(i=0;i<size;i++)printf("%-7d%s%5d\t %s%7d\n",(mystudent+i)->num, (mystudent+i)->name,(mystudent+i)->age,(mystudent+i)->sex,(mystudent+i)->score);getch();}#include""#define ROW 3#define COL 3void main(){int a[ROW][COL],i,j,max,min;clrscr();printf("Please input the 9 integers:\n"); for(i=0;i<ROW;i++)for(j=0;j<COL;j++)scanf("%d",&a[i][j]);/**/max=min=a[0][0]; /**/for(i=0;i<ROW;i++)for(j=0;j<COL;j++){if(/**/a[i][j]>max /**/)max=a[i][j];if(a[i][j]<min)/**/min=a[i][j];/**/}printf("max=%d\n",max);printf("min=%d\n",min);getch();}#define N 5#include<>void main(){int t=0,/**/s=0/**/,i;for(i=1;i<=N;i++){t=/**/t*10+i /**/;s+=t;}clrscr();printf("\ns=%d\n",s);getch();}#include<>long fib(int n);void main(){int k;clrscr();printf("The first 15 data of Fibonacci is:\n\n"); for(k=1;k<=15;k++)printf("%d ",fib(k));printf("\n");getch();}long fib(int n){if(n==1||n==2)/**/ return 1; /**/elsereturn /**/fib(n-1)+fib(n-2) /**/;}#include <>main(){struct stu{char name[10];float score;};/**/struct stu /**/ stu[3]={"Mary",76,"John",85,"Tom",81}; int i=0;float total=0,aver=0;while(i<3){total=total+/**/stu[i].score /**/;i++;}aver=total/3;printf("\ntotal=%.2f,aver=%.2f", total,aver); getch();}#include <>main(){int i,a[10]={9,26,35,8,6,19,69,3,5,95};int min1,min2;i=0;min1=a[0]<a[1]a[0]:a[1];min2=a[0]>a[1]/**/a[0]:a[1]; /**/for(i=2;i<10;i++){if(a[i]<min1){min2=min1;min1=a[i];}else if(a[i]<min2)/**/min2=a[i]; /**/}printf("min1=%d,min2=%d\n", min1,min2);getch();}#include <>main(){double x,y;/**/double mysqrt(double a,double x0); /**/ printf("Please input x:\n");scanf("%lf",&x);y=mysqrt(x,;printf("The sqrt of %f=%f\n",x,y);getch();}double mysqrt(double a,double x0){double x1,y;x1=/**/2*(x0+a/x0); /**/if(fabs(x1-x0)>y=mysqrt(/**/a,x1/**/);elsey=x1;return(y);}第三部分:程序设计题#include <>#include <>double fun1(double x){ /**/return (1+sin(x)+exp(x))/(1+x); /**/}void main(){clrscr();printf("fun1 = %\n", fun1);printf("fun1 = %\n", fun1);printf("fun1 = %\n", fun1);}#include <>#include <>#include <>#include <>int fun2(int a[],int n,int b[],int c[]) {/**/int i,j,t,k=0;for(i=0;i<n;i++)if(a[i]>-20)b[k++]=a[i]; for(i=0;i<k;i++)c[i]=b[i];for(i=0;i<k;i++)for(j=0;j<k-i;j++)if(c[j]>c[j+1]){t=c[j];c[j]=c[j+1];c[j+1]=t;}return k;/**/}void main(){ int n = 10, i, nb;int aa[10] = {12, -10, -31, -18, -15, 50, 17, 15, -20, 20}; int bb[10], cc[10];clrscr();printf("There are %2d elements in aa.\n", n);printf("They are: ");for(i=0; i<n; i++) printf("%6d", aa[i]);printf("\n");nb = fun2(aa, n, bb, cc);printf("Elements in bb are: ");for (i=0; i<nb; i++) printf("%6d", bb[i]);printf("\n");printf("Elements in cc are: ");for(i=0; i<nb; i++) printf("%6d", cc[i]);printf("\n");printf("There are %2d elements in bb.\n", nb);}#include <>#include <>double fun1(double x){ /**/return (exp(x)+fabs(x-6))/(x+;/**/}void main(){clrscr();printf("fun1 = %\n", fun1);printf("fun1 = %\n", fun1);printf("fun1 = %\n", fun1);}#include <>#include <>#include <>#include <>void fun2(char a[],char b[],char c[]){/**/char t[15];if(strcmp(a,b)>0){strcpy(t,a);strcpy(a,b);strcpy(b,t);} if(strcmp(a,c)>0){strcpy(t,a);strcpy(a,c);strcpy(c,t);} if(strcmp(b,c)>0){strcpy(t,b);strcpy(b,c);strcpy(c,t);} /**/}void main(){ char str1[15]="Fuzhou",str2[15]="Fujian",str3[15]="China"; clrscr();fun2(str1,str2,str3);printf("The ordered strings is : %s, %s, %s\n",str1,str2,str3); getch();}#include <>#include <>double fun1(float x){/**/if(x<5) return exp(x)+;else if(x==5) return ;else return (sin(x)/(2*x);/**/}void main(){float x;double y;clrscr();printf("Please input a number:\n");。
计算机二级C语言上机题库及答案(破译版)
计算机二级c语言上机题库.第1套填空题long fun(int n){if (___1___)return(n*fun(___2___));第1处填空:n>1或1<n第2处填空:n-1第3处填空:1或11或1L改错题第1处:Isprime(int n);应改为Isprime(int n)第2处:if !(n%i)应该为if(!(n%i)) 编程题int fun(int score[], int m, int below[]){int I, k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}第2套填空题if (___1___)return 0;else if (___2___)return 1;elsereturn ___3___; }第1处填空:n==0或0==n或!n 第2处填空:n==1或1==n第3处填空:fun(n-1)+fun(n-2)或fun(n-2)+fun(n-1)改错题第1处:int k=1应改为int k=0;第2处:while(*p!=*q)应改为while(*p||*q)编程题答案是:void fun(int *a,int *n){int i,j=0;for(i=2;i<1000;i++)if( (i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;}第3套填空题for (i=0; i<n; i++,___1___){t = s[i];___2___;___3___;}}第1处填空:n--或--n或n-=1或n=n-1第2处填空:s[i]=s[n]或*(s+i)=*(s+n)第3处填空:s[n]=t或*(s+n)=t改错题第1处:s[j]=s[i];应改为s[j++]=s[i]第2处:s[j]=”/0”;应改为s[j]=’\0’;编程题void fun(int x,int pp[],int *n){int i=1,j=0,k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=i;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}第4套填空题for (i=1; ___1___;i++)if (i%3==0 ___2___i%7==0)sum +=___3___/i;return sum;第1处填空:i<=n或n>=i第2处填空:||第3处填空:1.0或(double)1改错题第1处:void fun (char *s,int a,int b)应改为void fun(char *s,int *a,int*b)第2处:a++;应改为(*a)++;第3处:b++;应改为(*b)++;编程题void fun(char *tt,int pp[]){int I;for(i=0;i<26;i++)pp[i]=0;while(*tt){switch(*tt){case ’a’:pp[0]++;break;case ’b’:pp[1]++;break;case ’c’:pp[2]++;break;case ’d’:pp[3]++;break;case ’e’:pp[4]++;break;case ’f’:pp[5]++;break;case ’g’:pp[6]++;break;case ’h’:pp[7]++;break;case ’i’:pp[8]++;break;case ’j’:pp[9]++;break;case ’k’:pp[10]++;break;case ’l’:pp[11]++;break;case ’m’:pp[12]++;break;case ’n’:pp[13]++;break;case ’o’:pp[14]++;break;case ’p’:pp[15]++;break;case ’q’:pp[16]++;break;case ’r’:pp[17]++;break;case ’s’:pp[18]++;break;case ’t’:pp[19]++;break;case ’u’:pp[20]++;break;case ’v’:pp[21]++;break;case ’w’:pp[22]++;break;case ’x’:pp[23]++;break;case ’y’:pp[24]++;break;case ’z’:pp[25]++;break;}tt++;}}第5套填空题return3.14159*___1___/2.0;}main(){double x;printf("Enter x:");scanf("%lf",___2___);printf(" s = %lf\n ",fun(___3___));}第1处填空:r*r第2处填空:&x第3处填空:x改错题第1处:a[i+1]=a[i];应改为a[i]=a[i+1]编程题void fun(int m,int k,int xx[]){int g=0,I,j,flag=1;for(i=m+1;i<m*m;i++){for(j=2;j<I;j++){if(i%j!=0)flag=1;else{flag=0;break;}}if(flag==1&&j>=i){if(k>=0){xx[g++]=I;k--;}elsebreak;}}}第6套填空题while (s ___1___ q){s = s +(double)(n+1)/n;___2___;}printf("n=%d\n",n);___3___;}main(){printf("%f\n",fun(50));}第1处填空:<=第2处填空:n++或n+=1或n=n+1 第3处填空:return s或return (s)改错题第1处:for (i=2;i<m;i++)应改为for(i=2;i<=m;j++)第2处:y-=1/(i*i);应改为y-=1.0/(i*i)编程题void fun(char a[], char b[], int n) {int I,j=0;for(i=0;i<LEN;i++)if(i!=n){b[j]=a[i];j++;}b[j]=’\0’;}第7套填空题switch(___1___){case 1:c1++;___2___;case 2:c2++;___3___;case 3:c3++;}n /= 10;}}main(){long n = 123114350L;fun(n);printf("\nTheresult :\n");printf("n=%ld c1=%dc2=%d c3=%d\n", n, c1, c2,c3);}第1处填空:n%10第2处填空:break第3处填空:break改错题第1处:p = j应改为p=j;第2处:p = i应改为p=j;编程题void fun (int *s,int t,int *k){int I ,max;max=s[0];for(i=0;i<t:i++)if(s[i]>max){max=s[i];*k=I;}}第8套填空题scanf("%d",___1___);max = ___2___num[i] : max;} while(___3___);printf("max=%d\n",max);}第1处填空:&num[i]或num+i第2处填空:max<num[i]?或num[i]>max?第3处填空:num[i]!=0或0!=num[i]改错题第1处:void fun(char *p);应改为void fun(char *p)第2处:p=q+I;应改为q=p+i;编程题float fun(int n){int i;float s=1.0,t=1.0;for(i=2;i<=n;i++){t=t+i;s=s+1/t;}return s;}第9套填空题if (*s>='A' &&*s<='Z')___1___;if (*s>='a' &&*s<='z')___2___;s++;}}main(){char s[100];int upper = 0, lower =0;printf("\nPlease astring : ");gets(s);fun(s, &upper,&lower);printf("\n upper = %dlower = %d\n", ___3___);}第1处填空:(*a)++或++(*a)或*a=*a+1或*a+=1第2处填空:(*b)++或++(*b)或*b=*b+1或*b+=1第3处填空:upper,lower改错题第1处:t=s[k];应改为t+=s[k];第2处:*aver=&ave;应改为*aver=ave;编程题float fun(int m,int n){float p,t=1.0;int i;for (i=1;i<=m;i++)t=t*i;p=t;for(t=1.0,i=1;i<=n;i++)t=t*i;p=p/t;for(t=1.0,i=1;i<=m-n;i++)t=t*i;p=p/t;return p;}第10套填空题mbers are:%d,%d,%d\n", a, b, c);if (a > b)___1___;else___2___;if (max < c)___3___;printf("max=%d\n", max);}第1处填空:max=a第2处填空:max=b第3处填空:max=c改错题第1处:void fun(char *s,*t1,*t2,*w)应改为void fun(char *s,char *t1,char *t2,char *w)第2处:while(r)应改为while(*r) 编程题float fun(){float x1=0.0,x0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>=le-6);return x1;}第11套填空题k = n-___1___;elsek = n-2;c = ___2___ ;for (i=k-2; i>=1;i=i-2)s[i+2] = s[i];s[1] = ___3___;}main(){char s[80] = "abcdefgh";printf("\nTheoriginal stringis : %s\n", s);fun(s);printf("\nThe result is : %s\n", s);}第1处填空:1第2处填空:s[k]或*(s+k)第3处填空:c改错题第1处:n=*p-‘o’;应改为n=*p-‘0’;第2处:n=n*7+*p-‘o’;应改为n=n*8+*p-‘0’;编程题int fun(int a[][N]) {int i,j;for(i=0;i<N;i++)for(j=0;j<=I;j++)a[i][j]=0;}第12套填空题if((tt[i]>='A')&&(___1___))tt[i] +=___2___;}return (___3___);}main(){char tt[81];printf("\nPleaseenter a string: ");gets(tt);printf("\nThe resultstring is: \n%s",fun(tt));}第1处填空:tt[i]<=’z’或’z’>=tt[i]第2处填空:32或’a’-‘A’第3处填空:tt改错题第1处:a = NULL;应改为a=NULL;第2处:if(r==p)应改为if(*r==*p)编程题double fun(int w[][N]){int i,j,k=0;double s=0.0;for(j=0;j<N;j++){s+=w[0][j];k++;}for(j=0;j<N;j++){s+=w[N-1][j];k++;}for(i=1;i<=N-2;i++){s+=w[i][0];k++;}for(i=1;i<=N-2;i++){s+=w[i][N-1];k+;}rturn s/=k;}第13套填空题#include <stdio.h>___1___{int i, m;m = 1;for (i=___2___; i<n;i++)if (___3___){m=0;break;}if (m==1 && n>1)return("yes!");elsereturn("no!");}main(){int k = 0;printf("Input:");scanf("%d", &k);printf("%s\n",fun(k));}第1处填空:char*fun(int n)第2处填空:2第3处填空:n%i==或!(n%i)或0==n%i改错题第1处:t += 1.0/k;应改为t+=1.0/i;第2处:应填return t;编程题vid fun(int tt[M][N] ,int pp[N]){int i,j,min;for(j=0;j<N;j++){min=tt[0][j];for(i=0;i<M;i++){if(tt[i][j]<min)min=tt[i][j];}pp[j]=min;}}第14套填空题while (___1___){if (*p>='a' &&*p<='z'){s[i] = *p;___2___;}p++;}s[i] = ___3___;}main(){char str[80];printf("\nEnter astring :");gets(str);printf("\n\nThestring is : %s\n", str);fun(str);printf("\n\nThestring of changingis : %s\n", str);}第1处填空:*p或*p!=’\0’或*p!=0 第2处填空:i++或++i或i+=1或i=i+1第3处填空:’\0’或0改错题第1处:int r;应改为double r;第2处:while (fabs(n-m)<0.001)应改为while (fabs(n-m)>0.001)编程题int fun (int a[M][N]){int i,j,s=0;for(j=0;j<N;j++){s+=a[0][j];s+=a[M-1][j];}for(i=1;i<=M-2;i++){s+=a[i][0];s+=a[i][N-i];}return s;}第15套填空题If(*ste_1_ch){ str[0]=ch;_2_=0;}}Main(){ char s[81], c;Printf(“\nplease enter a string:\n”);gets(s);Prin tf(“\nplease enter the character to search :”);C=getchar();Fun(_3_);Printf(“\nThe result is%s\n”, s);}第1处填空:!=第2处填空:str[1]或*(str+1)第3处填空:s,c改错题第1处:void fun(char str,char ch)应改为void fun(char *str,char ch) 第2处:if(*str==ch)应改为if(*str==’\0’)第3处:str[1]=’0’;应改为str[1]=’\0’;或str[1]=0 编程题unsigned fun(unsigned w){unsigned t,s=0,s1=1,p=0;t=w;while(t>10){if(t/10)p=t%10;s=s+p*s1;s1=s1*10;t=t/10;}return s;}第16套填空题if (___1___)flag = 1;if (___2___)flag = 1;return ___3___;}main(){int year;printf("Input theyear:");scanf("%d", &year);if (fun(year))printf("%d is aleap year.\n", year);elseprintf("%d is nota leap year.\n", year);}第1处填空:n%100 !=0或0 !=n%100第2处填空:N400==0或!(n%400)或0==n%400第3处填空:flag改错题第1处:p->next=NULL;应改为p=s;第2处:s->data=rand()%m;应改为s->data=rand()%(m-1)第3处:return p;应改为return h;编程题float fun(float h){long t;float s;h=h*1000;t=(h+5)/10;s=(float)t/100.0;return s;}第17套填空题for (i=0; i<___1___;i++)if (a[i]<60)b[5]++;___2___b[(a[i]-60)/10]++;}main(){int i, a[100] = {93,85, 77, 68, 59, 43, 94, 75,98}, b[6];fun(___3___, 9);printf("the result is:");for (i=0; i<6; i++)printf("%d ",b[i]);printf("\n");}第1处填空:n第2处填空:else第3处填空:a,b改错题第1处:if((k%13=0)||(k%17=0))应改为if((k%13==0)||(k%17==0))第2处:应填}编程题void fun (char *s){char ch;int i,m,n;i=0;m=n=strlen(s)-1;while(i<(n+1)/2){ch=s[i];s[i]=s[m];s[m]=ch;i++;m--;}}第18套填空题if (___1___)___2___;p++;i++;}return ___3___;}main(){char str[N];char ch;int i, n;printf("******* Inputthe originalstring*******\n ");gets(str);printf("******* TheOriginal string*******\n");puts(str);printf("******* Inputcharacter *******\n");scanf("%c", &ch);n = fun(str, ch);printf(" \nThe number of character is: %d\n", n);printf("******* The suffix of character*******\n");for (i=0; i<n; i++)printf(" %d ",bb[i]);}第1处填空:*p==t或t==*p第2处填空:bb[n++]=i第3处填空:n改错题第1处:void fun(int a,int b)应改为void fun(int *a,int *b)第2处:t=b;b=a;a=t;应改为t=*b;*b=*a;*a=t;编程题void fun(int array[3][3]){int i,j,temp;for(i=0;i<3;i++)for(j=0;j<I;j++){temp=array[i][j];array[i][j]=array[j][i];array[j][i]=temp;}}第19套填空题below[j++] = ___1___;return j;}main(){int i, n, below[9];int score[9] = {10, 20, 30, 40, 50, 60, 70, 80, 90};n = fun(score, 9,___2___);printf("\nBelow the average score are: ");for (i=0; i<n; i++)printf("%d ",___3___);}第1处填空:score[i]或*(score+i) 第2处填空:below第3处填空:below[i]或*(below+i)改错题第1处:void fun(long s,long t) 应改为void fun(long s,long *t)第2处:while(s<0)应改为while(s>0)编程题void fun(char s[],int c){int i=0;char *p;p=s;while(*p){if(*p!=c){s[i]=*p;i++;}p++;}s[i]=’\0’;}第20套填空题pp[j++] =___1___;*n = ___2___;}main(){int x, aa[1000], n,i;printf("\nPleaseenter an integernumber:\n");scanf("%d", &x);fun(x, ___3___);for (i=0; i<n; i++)printf("%d ",aa[i]);printf("\n");}第1处填空:i第2处填空:j第3处填空:aa,&n改错题第1处:void fun(int a[],int m)应改为int fun(int a[],int m)第2处:if (m>=a[mid])应改为if(m>a[mid])int fun (int lim,int aa[MAX]){int k=0,I,j;for(i=lim;i>1;i--){for(j=2;j<I;j++)if(i%j==0)break;elsecontinue;if(j>=i){aa[k]=i;k++;}}return k++;}第21套填空题t2[j]=s[i];___1___;}else{t1[k++] =s[i];}t2[j] = 0;t1[k] = 0;for (i=0; i<k; i++)___2___;for (i=0; i<___3___;i++)s[k+i] = t2[i];}main(){char s[80] ="ba3a54j7sd567sdffs";printf("\nTheoriginal stringis : %s\n", s);fun(s);printf("\nThe resultis : %s\n", s);}第1处填空:j++或++j或j+=1或j=j+1第2处填空:s[i]=t1[i]第3处填空:j改错题第1处:p=h;应改为p=h->next;第2处:p=h->next;应改为p=p->next;编程题void fun( char *s,int num){char t;int I,j;for(i=1;i<num-2;i++)for(j=i+1;j<num-1;j++)if(s[i]<s[j]){t=s[i];s[i]=s[j];s[j]=t;}}第22套填空题给定给定程序中,函数FUN的功能是:在形参S所指字符串中的每个数字字符之后插入一个*号。
计算机二级C语言测试题及答案解析
计算机二级C语言测试题及答案解析计算机二级C语言测试题及答案解析C语言的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,下面给大家整理了计算机二级C语言测试题及答案,欢迎阅读!计算机二级C语言测试题及答案解析1.(A )是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从 C 开始执行。
A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3、以下说法中正确的是( C )。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是( B ) 。
A、 C程序的工作过程是编辑、编译、连接、运行B、 C语言不区分大小写。
C、 C程序的三种基本结构是顺序、选择、循环D、C程序从main函数开始执行5.下列正确的标识符是(C )。
A、-a1B、a[i]C、a2_iD、int t5~8题为相同类型题考点:标识符的命名规则只能由字母、数字、下划线构成数字不能作为标识符的开头关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B )。
A、3axB、xC、caseD、-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是( C )。
A、 %xB、a+bC、a123D、123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是( A)。
计算机二级C语言上机编程题及答案
计算机二级C语言上机编程题及答案1、请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。
例如,s所指字符串中的内容是:2def35adh25 3kjsdf 7/kj8655x,函数fun返回值为:11注意: 部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include voidint fun(char *s){}main(){ char *s="2def35adh25 3kjsdf 7/kj8655x";printf("%s\n",s);printf("%d\n",fun(s));}1、 int count=0;while(*s!='\0'){if(*s>=48 && *s<=57)count++;s++;}return count;2、编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。
(注意: 主函数中用****作为结束输入的标志,函数fun中给出的语句仅供参考。
) 注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include #include void fun(char(*a)[81],int num,char **max) {/* 以下代码仅供参考 */int i,k=0,len, maxlen; /* k为a数组中最长串所在元素的下标,初始为0,maxlen 为其串长 */maxlen=strlen(a[k]);for(i=1;i {/* 以下完成查找最长串 */}*max=a[k];main(){char ss[10][81],*ps;voidint n,i=0;printf("输入若干个字符串:");gets(ss[i]);puts(ss[i]);while(!strcmp(ss[i],"****")==0){i++;gets(ss[i]);puts(ss[i]);}n=i;fun(ss,n,&ps);printf("\nmax=%s\n",ps);}2、len=strlen(a[i]) ;if(maxlen {k=i ;maxlen=len ;}3、请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。
(完整版)福建省计算机二级C语言上机题解析汇报
第一部分:程序修改题#include <math.h>#include <stdio.h>#include <string.h>#include <conio.h>void main(){ char str1[100], t[200];int i, j;/**/ i = 0; /**/ 改成j = 0;clrscr();strcpy(str1, "4AZ18c?Ge9a0z!");for (i = 0; i<strlen(str1); i++){/**/ if ((str1[i] %2== 0) && (i%2!=0)) /**/ 改成i%2 ==0 {t[j] = str1[i];j++;}}t[j] = '\0';printf("\n Original string: %s\n", str1);printf("\n Result string: %s\n", t);}#include <string.h>#include <conio.h>#include <math.h>#include <stdio.h>#define M 50double fun(int n){ double y = 0.0;int i,j;j=0;for(i=1;;i++){/**/ if((i<10)&&(i%3==0)) /**/ 改成i>10 {/**/ y+=1/i; /**/ 改成y+=1.0/i;j++;}if(j==n) break;}return y;}void main(){ clrscr();printf("fun(8) = %8.3lf\n", fun(8));}#include <stdio.h>void main(){/**/ int i,j;/**/ 改成int i,j,k;for(i=1;i<=6;i++){for(k=1;k<=10+i;k++)printf(" ");for(j=1;j<=7-i;j++)printf("*")/**/ : /**/ 改成;printf("\n");}getch();}#include <stdio.h>#include <conio.h>/**/int fun();/**/ 该处不是函数说明,应该去掉分号{ int hen,cock,chicken,n=0;clrscr();for(cock=0;cock<=50;cock+=1)for(hen=0;hen<=100;hen=hen+1){ chicken=2*(100-hen-2*cock);/**/ if(cock+hen+chicken=100) /**/ 赋值号改成=={ n++;printf("%d-->hen:%d,cock:%d,chicken:%d\n",n,hen,cock,chicken); if(n==20) getch();}}return n;}void main(){ int num;num=fun();printf("\n There are %d solutions.\n",num);getch();}#include <stdio.h>#include <conio.h>void main(){ int m,n,result,flag=0;/**/ char ch, /**/基本语法错误,逗号改成分号clrscr();printf("Input an expression: ");scanf("%d%c%d",&m,&ch,&n);/**/ switch ch /**/基本格式错误,改成switch(ch){ case '+': result=m+n; break;case '-': result=m-n; break;case '*': result=m*n; break;case '%': result=m%n; break;case '/': result=m/n; break;default: { printf("Error!\n"); flag=1; }}if (!flag) printf("%d %c %d = %d\n",m,ch,n,result);getch();}。
福建省计算机二级(c语言)编程含答案
编程题: 第1套1. 打开考生文件夹中的Cprog011.C ,完成其中的fun1函数,该函数的数学表达式是:1sin 1()1xx e fun x x ++=+例如:fun1(0.76) = 2.175fun1(3.00) = 5.307 fun1(3.76) = 9.1112. 打开考生文件夹中的Cprog012.C ,完成其中的函数fun2(int a[ ], int n, int b[ ], int c[ ]),实现:(1)将数组a 中大于-20的元素,依次存放到数组b 中;(2)将数组b 中的元素按照从小到大的顺序存放到数组c 中; (3)函数返回数组b 中的元素个数。
Cprog011.Cdouble fun1(double x) { /**/ double y = 0.0;y=(1+sin(x)+exp(x))/(1+x); return y; /**/ } Cprog012.Cint fun2(int a[],int n,int b[],int c[]) {/**/ int j = 0; int i,t,k;for(i=0;i<n;i++)if(a[i]>-20) { c[j]=b[j]=a[i]; j++; } for(i=0;i<j-1;i++) for(k=i+1;k<j;k++) if(c[i]>c[k]){ t=c[i]; c[i]=c[k]; c[k]=t; } return j; /**/ } 第2套1. 打开考生文件夹中的Cprog021.C ,完成其中的函数fun1,该函数的数学表达式是:|6|1() 1.3x e x fun x x +-=+例如:fun1(0.76) = 3.582 fun1(3.00) = 5.369 fun1(3.76) = 8.9312. 打开考生文件夹中的Cprog022.C ,完成其中的函数fun2(char a[ ], char b[ ], char c[ ]),实现:将三个字符串a 、b 、c 从小到大排序后输出。
福建计算机二级c语言试题及答案
福建计算机二级c语言试题及答案一、选择题(每题2分,共40分)1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级编程语言B. C语言具有较好的可移植性C. C语言可以直接操作硬件D. C语言的程序只能在Windows操作系统下运行答案:D2. 在C语言中,以下哪个选项是正确的整型常量()。
A. 0.5B. 0x12C. 1.0e2D. 0123答案:B3. 在C语言中,以下哪个选项是合法的字符常量()。
A. 'ab'B. '2'C. '\t'D. "Hello"答案:C4. C语言中,以下哪个关键字用于定义函数()。
A. intB. returnC. voidD. main答案:A5. 在C语言中,以下哪个选项是正确的字符串常量()。
A. "Hello"B. 'Hello'C. "HelloD. "Hello\"答案:A6. 在C语言中,以下哪个选项是正确的一维数组声明()。
A. int a[10];B. int a[];C. int a=10;D. int a[10]={0};答案:A7. 在C语言中,以下哪个选项是正确的二维数组声明()。
A. int a[2][3];B. int a[][3];C. int a[2][];D. int a[][];答案:A8. 在C语言中,以下哪个选项是正确的函数声明()。
A. int add(int x, int y);B. int add(int, int);C. int add();D. int add(int x; int y);答案:A9. 在C语言中,以下哪个选项是正确的递归函数调用()。
A. int fact(int n) { return n * fact(n-1); }B. int fact(int n) { if (n > 0) return n * fact(n-1); else return 1; }C. int fact(int n) { return n * fact(n+1); }D. int fact(int n) { return n * fact(n); }答案:B10. 在C语言中,以下哪个选项是正确的指针声明()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
福建省计算机二年级C语言上机题解析Prepared on 22 November 2020第一部分:程序修改题#include <>#include <>#include <>#include <>void main(){ char str1[100], t[200];int i, j;/**/ i = 0; /**/ 改成j = 0;clrscr();strcpy(str1, "4AZ18cGe9a0z!");for (i = 0; i<strlen(str1); i++){/**/ if ((str1[i] %2== 0) && (i%2!=0)) /**/ 改成i%2 ==0 {t[j] = str1[i];j++;}}t[j] = '\0';printf("\n Original string: %s\n", str1);printf("\n Result string: %s\n", t);}#include <>#include <>#include <>#include <>#define M 50double fun(int n){ double y = ;int i,j;j=0;for(i=1;;i++){/**/ if((i<10)&&(i%3==0)) /**/ 改成i>10{/**/ y+=1/i; /**/ 改成y+=i;j++;}if(j==n) break;}return y;}void main(){ clrscr();printf("fun(8) = %\n", fun(8));}#include <>void main(){/**/ int i,j;/**/ 改成int i,j,k;for(i=1;i<=6;i++){for(k=1;k<=10+i;k++)printf(" ");for(j=1;j<=7-i;j++)printf("*")/**/ : /**/ 改成;printf("\n");}getch();}#include <>#include <>/**/int fun();/**/ 该处不是函数说明,应该去掉分号{ int hen,cock,chicken,n=0;clrscr();for(cock=0;cock<=50;cock+=1)for(hen=0;hen<=100;hen=hen+1){ chicken=2*(100-hen-2*cock);/**/ if(cock+hen+chicken=100) /**/ 赋值号改成=={ n++;printf("%d-->hen:%d,cock:%d,chicken:%d\n",n,hen,cock,chicken); if(n==20) getch();}}return n;}void main(){ int num;num=fun();printf("\n There are %d solutions.\n",num);getch();}#include <>#include <>void main(){ int m,n,result,flag=0;/**/ char ch, /**/基本语法错误,逗号改成分号clrscr();printf("Input an expression: ");scanf("%d%c%d",&m,&ch,&n);/**/ switch ch /**/基本格式错误,改成switch(ch) { case '+': result=m+n; break;case '-': result=m-n; break;case '*': result=m*n; break;case '%': result=m%n; break;case '/': result=m/n; break;default: { printf("Error!\n"); flag=1; }}if (!flag) printf("%d %c %d = %d\n",m,ch,n,result); getch();}#include <>#include <>void main(){char s[20]="table left 100",t[20];/**/ char tab[4,2]={{'a','f'},{'b','e'},{'e','a'},{'f','b'}}; /**/ 数组定义形式错误,改成char tab[4][2]int i,j=0;strcpy(t,s);while(t[j]){for(i=0;i<=3;i++){if(t[j]==tab[i][0]){/**/ t[j]=tab[i][2]; /**/改成t[j]=tab[i][1];break;}}j++;}printf("\nThe source string: %s\n",s);printf("\nThe target string: %s\n",t);getch();}#include <>#include <>main(){char str1[128];/**/ int i,len; sum=0; /**/基本语法错误,改成int i,len, sum=0; printf("\nPlease input the string: ");gets(str1);len = strlen(str1);for(i=0; i<len; i++){/**/ if( str1[i] >= '0' || str1[i] <= '9') /**/逻辑错误,||改成&&sum++;}printf("%d\n",sum);getch();}#include <>#include <>#define M 8main(){ int a[M],i;printf("Please input 8 numbers:\n");for(i=0; i<M; i++)scanf("%d", /**/ a[i] /**/);输入列表项必须指定地址,改成&a[i] printf("Inverse order is: \n");/**/ for(i=M-1; i<=0; i--) /**/ 循环判断条件表示错误,改成i>=0 printf("%d ", a[i]);printf("\n" );getch();}#include <>#include <>main(){/**/ char str1 /**/;此处必须定义成字符数组,改成char str1[50] int i,len, sum=0;printf("Please input a string:\n");scanf("%s", str1);len = strlen(str1);for(i=0; i<len; i++){if( str1[i] >= 'A' && str1[i] <= 'Z')/**/ sum--; /**/ 改成sum++;}printf("%d\n",sum);getch();}#include <>#include <>/**/ #include M 5 /**/宏定义错误,改成#define M 5main(){int a[M],i;printf("Please input 5 numbers:\n");for(i=0; i<M; i++)scanf("%d", &a[i]);printf("Even numbers:\n" );for(i=0; i<M; i++)/**/ if( a[i]/2 ==0) /**/判断偶数应该改成a[i]%2 ==0printf("%d ", a[i]);printf("\n" );getch();}#include <>#include <>main(){char str1[128], str2[128];int i,len;gets(str1);len = strlen(str1);/**/ for(i=0; i>len; i++) /**/循环条件表示错误,改成for(i=0; i<len; i++) {if( str1[i] >= '0' && str1[i] <= '8')str2[i] = str1[i] + 1;else if(str1[i] == '9')str2[i] = '0';elsestr2[i] = str1[i];}/**/ str2[i] = '\n'; /**/字符串的结束标识应该用'\0'表示puts(str2);#include <>#include <>void main(){char s1[30]="People's Republic of ", s2[]="China";char * ps1,*ps2;/**/ ps1 = NULL; /**/指针ps1指向字符串s1,改成ps1 = s1;ps2=s2;/**/ while(*ps1 == NULL) /**/判断是否到达串尾标识,应改成*ps1!='\0' ps1++;while(*ps2)*(ps1++) = *(ps2++);printf("\n%s\n",s1);getch();}#include <>#include <>void main(){float a[3],s,area;int i;printf("Please input 3 numbers:\n");for(i=0; i<3; i++)scanf("%f",/**/ a[i] /**/);输入列表项必须指定地址/**/ if( a[0]+a[1]>a[2] || a[1]+a[2]>a[0] || a[0]+a[2]>a[1] ) /**/逻辑条件标识错误,||改成&&{s = (a[0]+a[1]+a[2])/2;area = sqrt(s*(s-a[0])*(s-a[1])*(s-a[2]));printf("area is %.2f\n",area);}elseprintf("error.\n");getch();}#include <>#include <>/**/ void fun() /**/此处说明函数有返回值,改成int fun(){int large,middle,small,n=0;clrscr();for( large=0;large<=33;large++ )for( middle=0;middle<=50;middle++ ){small = 2*(100-3*large-2*middle);/**/ if( large+middle+small=100 ) /**/ = 改成 =={n++;printf("%d-->large:%d,middle:%d,small:%d\n",n,large,middle,small); }}return n;}void main(){int num;num = fun();printf("\n There are %d solutions.\n",num);getch();}#include <>void main(){int i;/**/ for( i=100; i<200; i++ ); /**/for语句错误,此处去掉分号if((i-2)%4 == 0)if( !((i-3)%7) )if( i%9 == 5 )printf("%d\n",/**/ &i /**/); 去掉地址符号&getch();}#include <>/**/ void swap(int p1,int p2) /**/改成void swap(int *p1,int *p2){int temp;temp = *p1;/**/ p1 = p2; /**/ 改成*p1 = *p2;*p2 = temp;}void main(){int a,b;printf("please input 2 numbers:\n");scanf("%d%d",&a,&b);printf("\nOriginal: a=%d b=%d\n",a,b);swap(&a,&b);printf("\nResult: a=%d b=%d\n",a,b);getch();}#include <>void main(){int b,i;/**/ int a=c=0; /**/基本语法错误,改成int a=0,c=0;/**/ for( i=0,i<=100,i+=2 ) /**/for语句语法错误,改成for( i=0;i<=100;i+=2 ) {a+=i;b=i+1;c+=b;}printf("total of even numbers: %d\n",a);printf("total of odd numbers: %d\n",c-101);getch();}#include <>void main(){int x,y,z,i,result=520;for( x=1;x<10;x++ )for( y=1;y<10;y++ )/**/ for( z=1;z<10;z++ ) /**/z初值应为0,改成for( z=0;z<10;z++ ) {i=100*x+10*y+z+100*y+10*z+z;/**/ if (i=result) /**/逻辑关系等于应该为i==resultprintf("x=%d,y=%d,z=%d\n",x,y,z);}getch();}#include <>#define F(x) (x**x+/(x+void main(){float a=,b=,c;/**/ int s; /**/变量类型错误,改成float s;printf("\nPlease input c: ");scanf("%f",/**/ c /**/);输入列表项必须加地址&c/**/ s=F(a,b,c); /**/printf("\ns=%.2f\n",s);getch();}#include <>void main(){int f,s,t,n;printf("\nThe list is:\n");for(n=100;n<1000;n++){f=n%10; f为个位数s=(n%100)/10; s为十位数/**/t=n%100; /**/ t为百位数,应改成t=n/100;/**/if(t*t*t+s*s*s+f*f*f=n)/**/ =应改成==printf("%d ",n);}printf("\n");getch();}第二部分:程序填空题#include <>void main(){ /**/int i;p=1;/**/ forp=p*i;getch();}#include <>void main(){int a,b,c;float f;clrscr();printf("Please input a b :");scanf("%d%d",&a,&b);f=/**/*a/b /**/;c=/**/ (int) /**/ (f*100)%10;printf("\n a/b=%f The second decimal place is: %d\n",f,c); getch();}#include <>#include <>int max,min;void find_max_min(int *p,int n){int *q;max=min=*p;for(q=p; q</**/ p+n /**/; q++)if(/**/ max<*q /**/ ) max=*q;else if(min>*q) min=*q;}void main(){int i,num[10];printf("Input 10 numbers: ");for(i=0;i<10;i++) scanf("%d",&num[i]);find_max_min(/**/ num /**/,10);printf("max=%d,num=%d\n",max,min);}#include <>void main(){int a,b,k;int plu = /**/ 403 /**/;for(a=1; a<10; a++)for(b=1; b<10; b++){k = (a*10+b) * /**/ (b*10+a) /**/ ;if(k==plu) printf("A = %d, B = %d\n",a,b);}}#include <>void main(){int n,a,b;/**/a=0;b=0;/**/scanf("%d",&n);while(/**/ n!=0 /**/){if(n>0) a++;else /**/ b++; /**/scanf("%d",&n);}printf("Positive integer: %d, negative integer: %d\n",a,b); }#include <>#include <>int prime(int n){ int k,flag=1;for(k=2; k<=n/2+1; k++)if (n%k==0) { flag=/**/ 0 /**/ ; break;}return flag;}void main(){ int num, a;clrscr();do{ printf("Please input an even number:");scanf("%d", &num);}while(num<=6||num%2==1);for(a=2;a<=num/2+1;a++)if(prime(a) && prime(/**/ num-a /**/))printf("\n %d = %d + %d ", num, a, num-a); }#include <>#include <>/**/ main() /**/{ float x,x0,f,f1;x=;do{ x0=x;f=((2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x=x0-f/f1;}/**/ while /**/(fabs(x-x0)>=1e-6);printf("the root is: %.2f\n",x);}#include <>main(){/**/ char /**/ str[20];int i;float x;printf("Please input a string:\n");scanf("%s",/**/ str /**/ );i=0;while(str[i]){str[i]=/**/ str[i]^15; /**/i++;}printf("\n Target string: %s\n", str);getch();}#include <>{int a[5]={20,30,45,64,23};float m;/**/ float average(int pa[],int n); /**/ m=average(a, 5 );printf("Average=%f\n",m);getch();}float average(int pa[] ,int n){ int k;float avg=;for(k=0;k<n;k++)avg=avg+/**/ pa[k] /**/;avg= avg/n;return avg;}#include <>main(){/**/ char /**/ s[80];int i;printf("Please input a string:");for(i=0;(s[i]=getchar())!='\n';i++);s[i]='\0';for(i=0;s[i]!='\0';i++){ if(s[i]>='a'&&s[i]<='z')s[i]=s[i]-32;/**/ else if /**/( s[i]>='A'&&s[i]<='Z' ) s[i]=s[i]+32;printf("%c",s[i]);}getch();}#include <>#include <>void sort(int a[], int m){ int i, j, t,swap;for( i=0; i< /**/ m-1 /**/ ; i++ ){swap = 0;for( j=0; j < m-i-1; j++){if /**/ (a[j]<a[j+1]) /**/swap = 1;t = a[j];a[j] = /**/ a[j+1] /**/;a[j+1] = t;}}if(!swap) break;}}void main(){int a[] = {23,55,8,32,18,2,9};int i,k = sizeof(a)/sizeof(int);sort(a,k);for(i=0;i<k;i++)printf("%d ",a[i]);printf("\n");getch();}#include <>#include <>int fun(/**/ float a,float b,float c /**/) {float temp;int bTrue = 0;if(a<b){ temp = a;a = b;b = temp;}if(a<c){ temp = a;a = c;c = temp;}if( fabs(/**/ a*a /**/ - (b*b + c*c)) <bTrue = 1;return bTrue;}main(){float a,b,c;printf("Please input three numbers:\n");scanf("%f%f%f",&a,&b,&c);if( fun(a,b,c) == 1)printf("Yes\n");elseprintf("No\n");getch();}#include <>main(){ int x;printf("Please input a number:\n");scanf("%d",/**/ &x /**/);printf("%d*%d=%d\n", x,x,/**/ x*x /**/); getch();}#include <>#include <>void sort(int a[], int m){ int i, j, k, t;for( i = 0; i < m-1; i++ ){ k = i;for( j=i+1; j< /**/ m /**/; j++)if( a[j] < a[k] ) /**/ k=j /**/;if( k != i ){ t = a[k];a[k]= a[i];a[i] = /**/ t /**/;}}}void main(){int a[] = {72,25,58,32,2,15,7,64};int i,m = sizeof(a)/sizeof(int);sort(a,m);for(i=0;i<m;i++)printf("%d ",a[i]);printf("\n");getch();}#include <>main(){float a,b,c,max;/**/float fmax(float x,float y,float z); /**/ printf("Please input 3 integer:\n");scanf("%f%f%f",&a,&b,&c);max=fmax(a,b,c);printf("The max number is:%.2f\n", max); getch();}float fmax(float x,float y,float z){float m,n;n=(y>z)y:z;m=/**/ (x>n)x:n; /**/return(m);}#include <>#include <>main(){int i,/**/ j /**/;int a[4][4],sum;sum=/**/0 /**/;printf("Please input 16 numbers:\n");for(i=0; i<4;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<4;i++)/**/ sum+=a[i][0]; /**/printf("%d\n",sum);#include <>int fun(int a[],int n,/**/int q /**/){int left,right,mid;left= 0 ;right = n-1;while(left <= right){ mid= /**/(left+right)/2 /**/;if( q < a[mid] ) right = mid-1;else if( q > a[mid]) left = mid+1;else return mid;}}main(){ int a[]={3,4,6,11,17,22,31,45};int k,n;n = sizeof(a)/sizeof(int);k = fun(a,n,31);printf("%d\n",k);getch();}#include <>#include <>int fun(/**/float r /**/,float x,float y){int bIn;bIn = /**/sqrt(x*x+y*y) /**/ < r ;return bIn;}main(){float r=-1,x,y;int bIn;while(r<0){ printf("Please input radius r (r>0):\n"); scanf("%f", &r);}printf("Please input the dot(x,y):\n");scanf("%f%f",&x,&y);bIn = fun(r,x,y);if(bIn == 1)printf("in the circle!\n");elseprintf("out of the Circle!\n");getch();}#include<>/**/#include<> /**/double fun(double x){/**/return x*x-2*x+6; /**/}void main(){double x,y1,y2;printf("Please input x:");scanf("%lf",&x);y1=fun(x+8);y2=fun(/**/sin(x) /**/);printf("\nf(x+8)=%.3lf",y1);printf("\nf(sinx)=%.3lf",y2);getch();}#include<>double fun(unsigned m,unsigned n){unsigned i;double p=;for(i=1;i<=m;i++)/**/p=p*i; /**/for(i=1;i<=n;i++)/**/p=p/i; /**/for(i=1;i<=m-n;i++)p=p/i;return p;}void main(){clrscr();printf("p=%f\n",fun(13,7));getch();}#include<>int findmax(int* array,int size);void main(){int a[]={33,91,23,45,56,-12,32,12,5,90};clrscr();printf("The max is %d\n",/**/findmax(a,10) /**/); getch();}int findmax(int *array,int size){int i, /**/max=*array /**/;for(i=1; i<size; i++)if(array[i]>max) max=array[i];return max;}unsigned sum(unsigned n){unsigned i,/**/sum=0;/**/for(i=1;i<=n;i++)sum+=i;/**/return sum;/**/}void main(){int m;clrscr();printf("Please input a unsigned integer:"); scanf("%d",&m);while(m<0){printf("Please input a unsigned integer:"); scanf("%d",&m);}printf("\nThe sum is %d\n",/**/sum(m)/**/); getch();}#include<>#include<>void main(){int i,j;char str[]="1234567", /**/ k /**/;for(i=0,/**/j=strlen(str)-1 /**/;i<j;i++,j--){k=str[i];str[i]=str[j];str[j]=k;}clrscr();printf("%s\n",str);getch();}#include<>#include<>typedef struct{int num;char name[20],sex[2];int age,score;}STU;STU mystudent[]={{1111,"Zhangqiang","m",20,80},{2104,"Liminghong","w",18,82},{3121,"Wangxingda","m",21,78},{4118,"Liushaotao","m",20,90},{1456,"Wuminghong","w",35,86}};void sort(STU* ps, int size){int i,flag,pass;/**/ STU temp; /**/for(pass=1;pass<size;pass++){flag=0;for(i=0;i<size-pass;i++)if(/**/ps[i].num>ps[i+1].num /**/){flag+=1;temp=ps[i];ps[i]=ps[i+1];ps[i+1]=temp;}if(/**/flag>size /**/) break;}}void main(){int i,size=sizeof(mystudent)/sizeof(STU);clrscr();printf("Students\' information before sort:\n\n");printf("Number Name age Sex score\n\n");for(i=0;i<size;i++)printf("%-7d%s%10d\t%s%8d\n",(mystudent+i)->num, (mystudent+i)->name,(mystudent+i)->age,(mystudent+i)->sex, (mystudent+i)->score);sort(mystudent,size);printf("\nStudents\' information after sort:\n\n");printf("Number Name age Sex score\n\n");for(i=0;i<size;i++)printf("%-7d%s%5d\t %s%7d\n",(mystudent+i)->num, (mystudent+i)->name,(mystudent+i)->age,(mystudent+i)->sex,(mystudent+i)->score);getch();}#include""#define ROW 3#define COL 3void main(){int a[ROW][COL],i,j,max,min;clrscr();printf("Please input the 9 integers:\n");for(i=0;i<ROW;i++)for(j=0;j<COL;j++)scanf("%d",&a[i][j]);/**/max=min=a[0][0]; /**/for(i=0;i<ROW;i++)for(j=0;j<COL;j++){if(/**/a[i][j]>max /**/)max=a[i][j];if(a[i][j]<min)/**/min=a[i][j];/**/}printf("max=%d\n",max);printf("min=%d\n",min);getch();}#define N 5#include<>void main(){int t=0,/**/s=0/**/,i;for(i=1;i<=N;i++){t=/**/t*10+i /**/;s+=t;}clrscr();printf("\ns=%d\n",s);getch();}#include<>long fib(int n);void main(){int k;clrscr();printf("The first 15 data of Fibonacci is:\n\n"); for(k=1;k<=15;k++)printf("%d ",fib(k));printf("\n");getch();}long fib(int n){if(n==1||n==2)/**/ return 1; /**/elsereturn /**/fib(n-1)+fib(n-2) /**/;}#include <>main(){struct stu{char name[10];float score;};/**/struct stu /**/ stu[3]={"Mary",76,"John",85,"Tom",81}; int i=0;float total=0,aver=0;while(i<3){total=total+/**/stu[i].score /**/;i++;}aver=total/3;printf("\ntotal=%.2f,aver=%.2f", total,aver);getch();}#include <>main(){int i,a[10]={9,26,35,8,6,19,69,3,5,95};int min1,min2;i=0;min1=a[0]<a[1]a[0]:a[1];min2=a[0]>a[1]/**/a[0]:a[1]; /**/for(i=2;i<10;i++){if(a[i]<min1){min2=min1;min1=a[i];}else if(a[i]<min2)/**/min2=a[i]; /**/}printf("min1=%d,min2=%d\n", min1,min2);getch();}#include <>main(){double x,y;/**/double mysqrt(double a,double x0); /**/ printf("Please input x:\n");scanf("%lf",&x);y=mysqrt(x,;printf("The sqrt of %f=%f\n",x,y);getch();}double mysqrt(double a,double x0){double x1,y;x1=/**/2*(x0+a/x0); /**/if(fabs(x1-x0)>y=mysqrt(/**/a,x1/**/);elsey=x1;return(y);}第三部分:程序设计题#include <>#include <>double fun1(double x){ /**/return (1+sin(x)+exp(x))/(1+x);/**/}void main(){clrscr();printf("fun1 = %\n", fun1);printf("fun1 = %\n", fun1);printf("fun1 = %\n", fun1);}#include <>#include <>#include <>#include <>int fun2(int a[],int n,int b[],int c[]){/**/int i,j,t,k=0;for(i=0;i<n;i++)if(a[i]>-20)b[k++]=a[i];for(i=0;i<k;i++)c[i]=b[i];for(i=0;i<k;i++)for(j=0;j<k-i;j++)if(c[j]>c[j+1]){t=c[j];c[j]=c[j+1];c[j+1]=t;}return k;/**/}void main(){ int n = 10, i, nb;int aa[10] = {12, -10, -31, -18, -15, 50, 17, 15, -20, 20}; int bb[10], cc[10];clrscr();printf("There are %2d elements in aa.\n", n);printf("They are: ");for(i=0; i<n; i++) printf("%6d", aa[i]);printf("\n");nb = fun2(aa, n, bb, cc);printf("Elements in bb are: ");for (i=0; i<nb; i++) printf("%6d", bb[i]);printf("\n");printf("Elements in cc are: ");for(i=0; i<nb; i++) printf("%6d", cc[i]);printf("\n");printf("There are %2d elements in bb.\n", nb);}#include <>#include <>double fun1(double x){ /**/return (exp(x)+fabs(x-6))/(x+;/**/}void main(){clrscr();printf("fun1 = %\n", fun1);printf("fun1 = %\n", fun1);printf("fun1 = %\n", fun1);}#include <>#include <>#include <>#include <>void fun2(char a[],char b[],char c[]){/**/char t[15];if(strcmp(a,b)>0){strcpy(t,a);strcpy(a,b);strcpy(b,t);}if(strcmp(a,c)>0){strcpy(t,a);strcpy(a,c);strcpy(c,t);}if(strcmp(b,c)>0){strcpy(t,b);strcpy(b,c);strcpy(c,t);}/**/}void main(){ char str1[15]="Fuzhou",str2[15]="Fujian",str3[15]="China"; clrscr();fun2(str1,str2,str3);printf("The ordered strings is : %s, %s, %s\n",str1,str2,str3); getch();}#include <>#include <>double fun1(float x){/**/if(x<5) return exp(x)+;else if(x==5) return ;else return (sin(x)/(2*x);/**/}void main(){float x;clrscr();printf("Please input a number:\n");scanf("%f",&x);y = fun1(x);printf("fun1(%.2f)=%.2f\n",x,y);getch();}#include <>#include <>void main(){int fun();int num;num=fun();printf("\nThe total of prime is %d",num); getch();}int fun(){/**/int m,i,k,n=0;for(m=101;m<=200;m=m+2){k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>=k+1)n++;}return n;/**/}#include <>#include <>double f(float x){/**/if(x>0) return (fabs(x)+/(sin(x)+2);else return 0;/**/}void main(){float x;printf("Please input a number: \n");scanf("%f",&x);y = f(x);printf("f(%.3f)=%.3f\n",x,y);getch();}#include <>#include <>void fun(int a[],int m){/**/int i;a[0]=a[1]=1;for(i=2;i<m;i++)a[i]=a[i-1]+a[i-2];/**/}void main(){int a[20],i;fun(a,20);for(i=0; i<20; i++)printf("%d ",a[i]);printf("\n");getch();}#include <>#include <>double f(float x){/**/if(fabs(x)<700)return sqrt+fabs(x))/(cos(x)+; else return -1;/**/}void main(){float x;double y;printf("Please input a number: \n");scanf("%f",&x);y = f(x);printf("f(%=%\n",x,y);}#include <>#include <>int fun(int a[][3],int m) {/**/int i,j,flag=1;for(i=0;i<m;i++)for(j=0;j<m;j++)if(a[i][j]!=a[j][i]){flag=0;break;}if(flag)return 1;else return 0;/**/}void main(){int a[3][3],i,j;int b;for(i=0; i<3; i++)for(j=0; j<3; j++)scanf("%d",&a[i][j]);b = fun(a,3);if( b == 1 )printf("Yes\n");elseprintf("No\n");getch();}#include <>#include <>double f(float x){/**/double y;if(x<2)y=x;else if(x<5)y=3-tan; else y=3*log10(x)-11; return y;/**/}void main(){double y;clrscr();printf("Please input x :\n");scanf("%f",&x);y = f(x);printf("f(%.2f)=%.2f\n",x,y);getch();}#include <>#include <>char fun(float f){/**/float c;c=9*(f-32);if(c<0) return 'W';else if(c<25) return 'B';else if(c<35) return 'O';else return 'R';/**/}void main(){float f;char code;printf("\nPlease input the Fahrenheit temperature: "); scanf("%f",&f);code=fun(f);printf("\n%c\n",code);getch();}#include <>#include <>double f(float x){/**/float y;if(x<=1600)y=0;else if(x<=2100)y=(x-1600)*;else if(x<=3100)y=(x-1600)*;else y=(x-1600)*;return y;/**/}void main(){float x;double y;clrscr();printf("Please input a number:\n");scanf("%f",&x);y = f(x);printf("f(%.2f)=%.2f\n",x,y);getch();}#include<>#define ROW 4#define COL 4int fun(int a[][COL],int row,int b[]){/**/int i,j,k=0;int sum=0;for(i=0;i<row;i++)for(j=0;j<COL;j++){if(a[i][j]>0)b[k++]=a[i][j];if(a[i][j]==0)break;}for(i=0;i<k;i++)sum=sum+b[i];return sum;/**/}void main(){int sss=0, b[16]={0};int a[ROW][COL]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}}; clrscr();sss=fun(a,ROW,b);printf("Sum of positive elements is %d\n",sss);getch();}#include <>#include <>double f(float x){/**/if(x<=0)return (x+2)*exp(x);else return (x+2)*log(2*x);/**/}void main(){float x;double y;printf("Please input a number:\n");scanf("%f",&x);y = f(x);printf("f(%.3f)=%.3f\n",x,y);getch();}#include <>#include <>void f(char p[][20],int n);void main(){int i;char p[][20]={"abc","xabdfg","abbd","dcdbe","cd"}; f(p,5);clrscr();for(i=0;i<5;i++)printf("%s\n",p[i]);getch();}void f(char p[][20],int n){/**/int i,j;char t[20];for(i=0;i<n;i++)for(j=0;j<n-i;j++)if(strcmp(p+j,p+j+1)>0){strcpy(t,p+j);strcpy(p+j,p+j+1);strcpy(p+j+1,t);}/**/}#include <>#include <>。