计算机二级C语言上机题库
计算机等级考试二级C语言上机 程序设计题库

1,FUN的功能:将两个两位数的正整数A,B合并形成一个整数放在C中。
合并的方式:将A数的十位和个位数依次放在C数的千位和十位,B数的十位和个位数依次放在C数的百位和个位上void fun(int a, int b, long *c){*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);}2 功能:将两个两位数的正整数A,B合并形成一个整数放在C中。
合并的方式:将A数的十位和个位数依次放在C数的个位和百位,B数的十位和个位数依次放在C数的千位和十位上*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);3 FUN的功能:将两个两位数的正整数A,B合并形成一个整数放在C中。
合并的方式:将A数的十位和个位数依次放在C数的个位和百位,B数的十位和个位数依次放在C数的十位和千位上*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);4 FUN的功能:将两个两位数的正整数A,B合并形成一个整数放在C中。
合并的方式:将A数的十位和个位数依次放在C数的十位和千位,B数的十位和个位数依次放在C数百的位和个位上*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10)5 编写一个函数FUN功能:计算N门课程的平均数,计算结果作为函数的返回直,输入90.5,72,80,61.5,55函数直:71.80int i;float ave=0.0;for(i=0; i<n; i++) ave=ave+a[i] ;ave=ave/n;return ave;6.编写一个函数,功能:比较两个字符串的长度,(不调用C语言提供的求字符串长度的函数),函数返回较长的字符串。
若长度相同,返回第一个字符串。
输入beijing <cr>shanghai<cr>返回shanghaiint i;char *p=s, *q=t;for(i=0;*p && *q; i++) {p++; q++;}if(*p == 0 && *q == 0) return s ;if(*p) return s ;else return t ;7int i ;*n=0 ;for(i=7 ; i<=m; i++)if((i % 7 == 0) || (i % 11 == 0)) a[(*n)++]=i ;8int i ;for(i = 1 ; i < strlen(*ss) ; i+=2) {if(ss[i] >= 'a' && ss[i] <= 'z') ss[i] -= 32 ;}9int i, j = 0 ;for(i = 0 ; i < strlen(s) ; i += 2)if(s[i] % 2 == 0) t[j++] = s[i] ;t[j] = 0 ;10int i, j = 0 ;for(i = 1 ; i < strlen(s); i+=2) t[j++] = s[i] ;t[j] = 011int i, j = 0 ;for(i = 0 ; i < strlen(s); i++) if(s[i] % 2) t[j++] = s[i] ; t[j] = 0 ;12char num[10]; int s; } STU;fun( STU a[], STU *s ){int i, max = a[0].s, j = 0;for(i = 1 ; i < N ; i++)if(max < a[i].s) {j = i ;max = a[i].s ;}*s = a[j] ;}13int i, j;for(i = 0 ; i < N ; i++)for(j = 0 ; j <= i; j++)a[i][j] *= n ;14int i, j;for(i = 0 ; i < N ; i++)for(j = 0 ; j <= i; j++)a[i][j] = 0 ;15int i,j, min, k ;for(i = 0 ; i < N ; i++) {min = tt[0][i] ; k = 0 ;for(j = 1 ; j < M ; j++)if(min > tt[j][i]) {min=tt[j][i] ;k = j ;}pp[i] = tt[k][i] ;}16设计题#include <stdio.h>unsigned fun ( unsigned w ){if(w>10000) w %= 10000 ;else if(w>1000) w %= 1000 ;else if(w>100) w %= 100 ;else if(w>10) w %=10 ;return w ;18.编写函数FUN,函数的功能是:从S所只的字符删除给定的字符。
计算机二级C语言上机题题库(编程)(超值100题)

1:第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案: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: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案: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: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案: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: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
答案: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]++;b reak;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[12]++;bre ak;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: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
计算机二级c语言上机考试100题

题目1:下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。
请编写函数num(int m,int k,int xx[])实现函数的要求,最后调用函数readwriteDAT()把结果输出到文件out.dat中。
例如:若输入17,5,则应输出:19,23,29,31,37。
注意:部分源程序已给出。
请勿改动主函数main()和函数readwriteDAT()的内容。
--------------类型:素数。
void num(int m,int k,int xx[]){int data=m+1;int half,n=0,I;while(1){half=data/2;for(I=2;I<=half;I++)if(data%I==0)break;if(I>half){xx[n]=data;n++;}if(n>=k)break;data++;} }题目2:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 如果四位数各位上的数字均是0或2或4或6或8, 则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。
最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定义数组: a[200], b[200], 已定义变量: cnt请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
-------------------------void jsVal(){int bb[4];int I,j,k,flag;for (I=0;I<200;I++){bb[0]=a[I]/1000; bb[1]=a[I]%1000/100;bb[2]=a[I]%100/10; bb[3]=a[I]%10;for (j=0;j<4;j++){if (bb[j]%2==0)flag=1;else{flag=0;break;}}if (flag==1){ b[cnt]=a[I];cnt++;} }for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if (b[I]<b[j]){k=b[I];b[I]=b[j];b[j]=k;}}题目3:函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数STROR(),其函数功能是:以行为单位把字符串中的所有小写字母O左边的字符串内容移到该串的右边存放,然后并把小写字母O删除,余下的字符串内容移到已处理字符串的左边存放.最后把已处理的字符串仍按行重新存入字符串数组XX中,最后调用函数WRITEDAT()把结果XX输出到文件OUT.DAT中.例如:原文:You can create an index on any field.you have the correct record.结果: n any field.You can create an indexrd.yu have the crrect rec原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.-------------------类型:字符串(单词)的倒置和删除。
计算机二级C上机考试题库及答案

计算机二级C上机考试题库及答案一、单项选择题(每题1分,共10分)1. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello, World!";B. char str[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};C. char str[] = {"Hello, World!"};D. char str[] = "Hello, World!";答案:A2. 下列哪个函数用于将字符串s1复制到s2中?A. strcat(s1, s2);B. strcpy(s1, s2);C. strcmp(s1, s2);D. strncpy(s1, s2, n);答案:B3. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:A4. 如果一个变量被声明为static int,那么这个变量的生命周期是?A. 只在函数调用期间B. 程序运行期间C. 只在程序启动时D. 只在程序结束时答案:B5. 在C语言中,以下哪个运算符用于计算两个整数的差?A. +B. -C. *D. /答案:B6. 以下哪个选项不是C语言中合法的标识符?A. _myVarB. my_varC. 2ndVarD. var$name答案:C7. 在C语言中,以下哪个选项是正确的数组定义方式?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[] = {1, 2, 3, 4, 5};C. int arr[5] = {1, 2, 3};D. int arr[] = {1, 2, 3, 4};答案:A8. 以下哪个选项是正确的C语言注释方式?A. /* This is a comment */B. // This is a commentC. //* This is a commentD. /* This is a comment */答案:A9. 在C语言中,以下哪个选项是正确的多行字符串定义方式?A. char str[] = "Line1\nLine2";B. char str[] = 'Line1\nLine2';C. char str[] = "Line1\nLine2";D. char str[] = "Line1\nLine2";答案:A10. 在C语言中,以下哪个选项是正确的结构体定义方式?A. struct Student {int id;char name[50];};B. struct Student {int id;char name[];};C. struct Student {int id;char name[50] = "John Doe";};D. struct Student {int id;char name[];};答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以对变量进行自增操作。
全国计算机等级考试2级C语言上机题库

第一套:1.1 填空给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶函数的数去除,剩余的书按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
void fun(unsigned long *n){ unsigned long x=0, i; int t;i=1;while(*n)/**********found**********/{ t=*n % 10 ;/**********found**********/if(t%2!= 0){ x=x+t*i; i=i*10; }*n =*n /10; }/**********found**********/*n=x; }1.2 改错给定程序MODI1.C 中函数fun的功能是:计算n!。
double fun ( int n ){ double result = 1.0 ;/************found************/if (n == 0)return 1.0 ;while( n >1 && n < 170 )/************found************/result *= n--;return result ;}1.3 程序请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。
long fun ( char *p){ /* 以下代码仅供参考*/int i, len, t; /* len为串长,t为正负标识*/long x=0;len=strlen(p);if(p[0]=='-'){ t=-1; len--; p++; }else t=1;/* 以下完成数字字符串转换为一个数字*/while(*p) x = x*10-48+(*p++);return x*t; }第二套:2.1填空给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数些到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
全国计算机等级考试二级c语言上机题库

全国计算机等级考试二级c语言上机题库全国计算机等级考试二级c语言上机题库【例1】给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
例如,输入一个数:27638496,新的数:为739。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#includevoid fun(unsigned long *n){ unsigned long x=0, i; int t;i=1;while(*n){ t=*n % __1__;if(t%2!= __2__){ x=x+t*i; i=i*10; }*n =*n /10;}*n=__3__;}main(){ unsigned long n=-1;while(n>99999999||n<0){ printf("Please input(0fun(&n);printf("\nThe result is: %ld\n",n);}解题思路:第一处:t是通过取模的方式来得到*n的个位数字,所以应填:10。
第二处:判断是否是奇数,所以应填:0。
第三处:最后通形参n来返回新数x,所以应填:x。
给定程序MODI1.C中函数 fun 的功能是:计算n!。
例如,给n输入5,则输出120.000000。
【例2】请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:#includedouble fun ( int n ){ double result = 1.0 ;if n = = 0return 1.0 ;while( n >1 && n < 170 )result *= n--return result ;}main ( ){ int n ;printf("Input N:") ;scanf("%d", &n) ;printf("\n\n%d! =%lf\n\n", n, fun(n)) ;}解题思路:第一处:条件语句书写格式错误,应改为:if (n==0)。
2022年6月全国计算机等级考试二级C语言上机题库(最全)

2022年6月全国计算机等级考试二级C语言上机题库(最全)第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
第一处tructtudentt;第二处for(i=0;i<n-1;i++)第三处if(trcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
/某某found某某/q=p+i;/某某found某某/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
intfun(STREC某a,STREC某b,intl,inth){inti,j=0;for(i=0;i<N;i++)if((a[i].>=1&&a[i].<=h)b[j++]=a[i];returnj;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。
函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
第一处free(q);第二处q=p->ne某t;第三处q=q->ne某t;2.程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。
/某某found某某/p=j;/某某found某某/p=i;3.程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
计算机二级C上机考试题库及答案

计算机二级C上机考试题库及答案一、选择题1. 下面哪个不是C语言的关键字?A. intB. charC. doubleD. if答案:C2. C语言中,声明int a[10]; 表示的是什么类型的变量?A. 整型数组B. 字符型数组C. 浮点型数组D. 无类型数组答案:A3. 以下哪个函数用于从标准输入中读取一个字符?A. getchar()B. putchar()C. printf()答案:A4. 下面哪个运算符用于取两个操作数的余数?A. +B. -C. *D. %答案:D5. C语言中,用于判断两个数是否相等的运算符是?A. >B. <C. ==D. !=答案:C二、编程题1. 输出斐波那契数列的前20项。
```c#include <stdio.h>int n, i;long long t1 = 0, t2 = 1, nextTerm;printf("斐波那契数列的前20项:\n");for (i = 1; i <= 20; ++i) {printf("%lld, ", t1);nextTerm = t1 + t2;t1 = t2;t2 = nextTerm;}return 0;}```三、简答题1. C语言中的指针是什么?请简要说明指针的概念和作用。
答:C语言中,指针是一个用来存储内存地址的变量。
指针可以指向内存中的任何数据类型,包括整型、字符型、结构体等。
指针的作用主要有两点:一是可以通过指针直接访问、修改内存中的数据;二是可以动态地分配内存空间,提高程序的灵活性和效率。
2. 请简要说明C语言中的结构体是什么,以及它的作用及特点。
答:C语言中的结构体是一种自定义的数据类型,用于将不同类型的数据组合在一起形成一个逻辑整体。
结构体可以包含不同类型的成员变量,可以根据需要定义不同结构体类型的变量。
结构体的作用主要有两点:一是可以方便地管理和操作多个相关的变量;二是可以定义自己需要的数据类型,提高程序的可读性和可维护性。
二级C语言上机考试题库

历年全国计算机等级考试_二级C语言上机考试题库及答案填空给定程序的功能是调用fun函数建立班级通讯录。
通讯录中记录每位学生的编号,姓名和电话号码。
班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.c中不得增行或删行,也不得更改程序的结构!void check();/**********found**********/int fun(___1___ *std){/**********found**********/___2___ *fp; int i;if((fp=fopen("myfile5.dat","wb"))==NULL)return(0);printf("\nOutput data to file !\n");for(i=0; i<N; i++)/**********found**********/fwrite(&std[i], sizeof(STYPE), 1, ___3___);fclose(fp);return (1);}修改给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。
例如:当s中的字符串为:“ABCDE”时,则他中的字符串应为:“ABCDEEDCBA”。
请改正程序中的错误,使他能得出正确的结果。
注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!void fun (char *s, char *t){ int i, sl;sl = strlen(s);/************found************/for( i=0; i<=s1; i ++)t[i] = s[i];for (i=0; i<sl; i++)t[sl+i] = s[sl-i-1];/************found************/t[sl] = '\0';}程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。
计算机二级C语言上机题库及答案(100套)

~计算机二级c 语言上机题库及答案内部资料,切勿外传!.第1 套填空题请补充FUN 函数,FUN 函数的功能是求10 的阶乘。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在fun 函数的横线上填入所编写的若干表达式或语句。
试题程序:#include <stdio.h>long fun(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(int n);{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 between 2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %d is(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 所指的数组中。
3月全国计算机等级考试二级C语言上机题库(20~30套)

3月全国计算机等级考试二级C语言上机题库(20~30套)3月全国计算机等级考试二级C语言上机题库(20~30套)考试频道小编收集整理计算机等级考试资料,免费提供给大家交流参考。
第二十一套1. 程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串右边的字符删去,只保留左边的k个字符。
ss所指字符串数组中共有N个字符串,且串小于M。
第一处void fun(char (*ss)[M], int k)第二处while (i第三处ss[i][k]=0;i++;}2. 程序修改给定程序MODI1.C中函数fun的功能是:根据以下公式求值,并作为函数值返回。
例如,给指定精度的变量eps输入0.0005时,应当输出Pi=30140578.。
/**found**/t=1;/**found**/return(2*s);3. 程序设计假定输入字符串中只包含字母和*号。
请编写函数fun,它的功能是:将字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。
函数fun中给出的语句仅供参考。
void fun(char*a,int n){int i=0,k=0;while(a[k]= =*)k++;if(kn){i=n;j=k;for(;a[j]!=0;j++)a[i++]=a[j];a[i]=0;}}第二十二套1. 程序填空给定程序中,函数fun的功能是:a所指43矩阵中第k行的元素与第0行元素交换。
例如:有下列矩阵1 2 34 5 67 8 910 11 12若k为2,程序执行结果为7 8 94 5 61 2 310 11 12第一处void fun(int (*a)[N],int k)第二处for(i=0;i第三处a[0][i]=a[k][i];2. 程序修改给定程序MODI1.C中函数fun的功能是:读入一个字符串(长度20),将该字符串中的所有字符串按ASCII码升序排序后输出。
二级C语言上机考试复习资料,共有50套题目

printf("\nThe result is : %s\n",p);
}
6、程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函数fun的功能是输出这位学生的信息。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
for(i=1; i<n-2; i=i+2) {
/**********found**********/
___1___;
/**********found**********/
for(j=___2___+2 ; j<n; j=j+2)
if(s[t]>s[j]) t=j;
if(t!=i)
{ x=s[i]; s[i]=s[t]; s[t]=x; }
int fun(int x[])
{ int i,j,k,t,mid,b[N];
for(i=0;i<N;i++) b[i]=x[i];
for(i=0;i<=N/2;i++)
{ k=i;
for(j=i+1;j<N;j++) if(b[k]>b[j]) k=j;
if(k != i )
{
/**********found**********/
return mid;
}
main()
{ int i, x[N]={1,5,7,23,87,5,8,21,45};
for(i=0; i<N; i++) printf("%d ",x[i]);
浙江省计算机等级二级考试C语言机考题库

浙江省计算机等级二级考试C语言机考题库二级考试(C语言)上机部分试题1.三个数比较大小。
输入三个整数,按由大到小的顺序输出这三个数。
#includevoid swap(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(a>b) swap(&a,&b);if(b>c) swap(&b,&c);if(a>b)swap(&a,&b);printf("%d,%d,%d",a,b,c); }2.表达式求和。
将计算结果以格式“%。
6f”写入到考生文件夹中#include #includevoid main(){ FILE *fp;float n=1,t=1,pi=0;int i;i=1;while(fabs(t)>=1e-6){ pi=pi+t; i=-i; n=n+2; t=i/n; }fp=fopen("Design1.dat","w");fprintf(fp,"%.6f",4*pi);fclose(fp); }运行结果:3.1415943.字母后移循环输出。
输入的一个小写字母,将字母循环后移5个位置后输出。
#includevoid main(){ char c; c=getchar();If(c>='a' && c<'v')c=c+5;elseif (c>='v' && c<='z')c=c-21;putchar(c); }4.求满足条件的数。
全国计算机等级考试二级C语言上机考试题库及答案

第1套一、填空给定函数的功能是调用fun 函数建立班级通讯录。
通讯录记录每位学生的编号,姓名和电话号码。
班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。
答案:1. STYPE 2. FILE3. fp二、修改先将在字符串s中的字符按正序存放到t串中,然后把s 中的字符按逆序连接到t串后面。
答案:1. for(i = 0 ; i < sl ;i++) 2. t[2*sl] =` 0`; 三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。
合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。
*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);第2套一、填空从键盘输入若干行文本(每行不超过80个字符),写到文件答案yfile4.txt中,用-1作为字符串输入结束的标记。
然后将文件的内容读出显示在屏幕上。
文件的读写分别有自定义函数ReadText 和WriteText实现。
答案:*fw str str 二、修改从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。
答案:long *t sl =sl*10;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。
合并的方式:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。
*c=(b/10)*1000+(a%10)*100+(b%10)*10 +(a/10);第3套一、填空将自然数1~10以及它们的平方根写到名为答案yfile3txt的文本文档中,然后再顺序读出显示在屏幕上。
答案:(1)fp (2)fclose(fp)(3)fname二、修改将n个无序整数从小到大排序。
答案:for(i=j+1;i<n;i++)p=i;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。
计算机二级C语言上机题库

注意事项第一部分程序填空题第二部分程序修改题第三部分程序设计题1、本资料汇集了2009年及以前所有的全国计算机等级考试二级C语言的上机考试真题,具有很高的真实性、权威性和全面性,也具有较强的参考价值,是备战全国计算机等级考试二级C语言的良师益友,衷心希望本资料能为大家考试成功加油助力。
2、本资料在每道题的后面都有参考答案和详细分析,精讲考点,分析题眼,详解重点和难点并给出应试技巧,为你轻松过关铺路垫石。
3、本资料内容全面,对100套题做了详细归类,望各位学员能够举一反三,在短时间内提高等级应试能力。
4、机试考试有三道大题,第一题是程序填空,占分30分,第二题是程序修改,占分30分,第三题是程序编写,占分40分,整个上机考试分值100分,考试时间60分钟。
5、上机考试的题目每年变化不大,考生只要平时基础知识扎实,在考前强化时多做些上机考试模拟题,见多识广,上机考试时就会遇到跟自己考前上机练习极其类似的题目,从而顺利通过考试。
6、考试中计算机出现故障、死机、死循环、电源故障等异常情况(即无法进行正常考试时),应举手示意与监考人员联系,不得擅自关机和做出其它自行处理。
7、上机考试时应明确,考生目录位于考试环境界面的左上角,每一个题目对应的程序文件都存放在考生目录下,要做每一道题时,应先按平时掌握的打开文件的方法在考生目录下打开每一道题所对应的程序文件,然后再做题,做题的过程应注意保存文件。
8、上机考试做每一道题时,应尽量使用C编译系统自身的编译、连接功能调试程序,以便很快发现语法错误,解决语法错误,编译、连接完成后,对得到的程序结果还应认真分析,确保程序没有逻辑错误为止。
9、机试填空题应注意:(1)一般设置3个填空;(2)填空后应将填空序号和填空下划线删除,防止编译出错。
10、机试修改题应注意:(1)错误一般有2个或3个;2(2)错误一般位于每个found之下一行或两行范围之内。
11、机试编程题应注意:(1)编程题一般都是在被调用的函数之内编写;(2)所编写的被调用的函数要与调用函数保持和谐统一,符合被调用与调用的关系。
计算机二级c语言上机百题题库

1假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其它*号全部删除。
形参h已指向字符串中第一个字母,形参p 已指向字符串中最后一个字母。
在编写函数时,不得使用C 语言提供的字符串函数。
例如,字符串中的内容为:****A*BC*DEF*G********,删除后,字符串中的内容应当是:****ABCDEFG********。
在编写函数时,不得使用C语言提供的字符串函数。
void fun(char *a,char *h,char *p){char b[81],*x;int i=0,j=0;x=a;while (x<h) {b[j]=*x;x++;j++;}while (h<=p)if (*h!='*') {b[j]=*h;j++;h++;}else h++;p++;while (*p) {b[j]=*p;j++;p++;}b[j]='\0';j=0;while (b[j]){ a[i]=b[j];i++;j++;}a[i]='\0';}2请编写一个函数fun,它的功能是:根据以下公式求π的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):程序运行后,如果输入精度0.0005,则程序输出为3.140578。
double fun ( double eps){int n=0;double down=1,up=1;double one ,pi=0;one = (double)up/(double)down;while(one>=eps) { /*通过循环语句判断公式中某项是否在精度范围之内*/pi+=one;n++;up=up*n;down=down*(2*n+1);one=(double)up/(double)down;}return pi*2;} 3请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。
全国计算机等级二级C语言上机考试题库

一、填空题1、t = ___1___;t *= (-1.0)*x/___2___;(1)x (2)n (3)fabs(t)2、switch(___1___)(1)n%10 (2)break (3)break3、if(t%2==__1__)(1)0 (2)10*x (3)n/104、rmax=a[i][j]; c= __1__ ; }(1) j (2)0 (3)i++5、void fun(char (*ss) __1__, int k) (1) [M] (2)N (3)06、void fun(int (*t)___1___ )(1)[N](2)t[i][j] (3)t[j][i]7、void fun(int (*a)[N], int __1__) (1) k (2)N (3)a[k][i]8、while(t<=__1__){(1) 999 (2)t/10 (3)x9、___1___;(1) sum=0 (2)t[i][i] (3)1 10、___1___ fun(char ch)(1) char (2)ch<='9' (3)'0'11、s=0; i=__1__;(1) 0 (2)i++ (3)2.*i12、while (!feof(__1__))(1) fp (2)== (3)fp13、for(i=0; i< __1__ ; i++)(1) N (2)substr (3)014、for(p=1; p<= __1__; p++)(1) k (2)N-1 (3)temp15.t=(a>b)?(b>c?b :(a>c?c:___1___) ):((a>c)?___2___:((b>c)?c:___3___));(1) a (2)a (3)b16 if ((ch>='a')___1___(ch<='z')) (1) && (2)'A' (3)ch17、if(isdigit(*s)) sum+=*s- __1__ ;(1)48 (2)s++ (3)sum18、f = ___1___;(1) 1 (2)-1 (3)t19、if(n>=len) strcpy(__1__);(1) t,s (2)s[i] (3)0 20、__1__ fun(struct student *a)(1)struct student * (2)a->score[i](3)a21、max = min = ___1___;(1) a[i] (2)a[j] (3)a[j] 22、void fun(int ___1___ , int n) (1) t[][N] (2)i=0;i<n (3)s 23、void fun(int ___1___, int n)(1) *a (2)2 (3)i+124、 f = 1.0+___1___;(1) x (2)n (3)t25、 t = ___1___;(注意和第1题不一样)for (i=___2___; i<n; i++)(1) 1 (2)1 (3)i26、b__1__ = 10004;(1) ->sno (2)->name (3)&t27、k=__1__;(注意和第49题不一样)t=__2__;(1) 1 (2)2*i (3) (-1)28、s=__1__;(1) 0 (2)n (3)(t*t)29、ch=tolower(__1__);(1) *s (2)1 (3)k[n]30、__1__ t;(1) struct student (2)n-1(3)a[i].name,a[j].name31、 if (___1___== 0) {(1) a[i]%2 (2)a[j] (3) j32、{ t=*n % __1__;(1) 10 (2)0 (3)x33、for(i=0; i< __1__ ; i++)(注意有相类似的)if(len<= __2__)(1) N (2)k (3)ss[i]34、 __1__ ; flag=1;}(1) n++ (2)0 (3)s++35、t[j]=__1__; j++;}(1) s[i] (2) k (3)036、for(i=0; i< __1__ ; i++)if(strcmp(ss[i],t)==0)return__2__ ;(注意有类似的)(1) N (2)i (3)-137、lp= __1__ ;(1) s (2)--(注意是2个减号)(3) return 038、x=__1__/4;(1) 3.(注意要打上点)(2) > (3)(2*i+1)39、for (i=0; i<___1___; i++)a[i] = a[n-1-___2___];(注意有类似题)(1) n/2 (2)i (3)a[n-i-1]40、b = __1__;(1) a (2) (3)score[i]41、for (___1___; j<i; j++)(1) j=2 (2)i (3)j42、i=__1__;(1) 1 (2)s (3)i*1043、__1__ fun(struct student a)(1) struct student (2)(3)a.score[i]44、p=(n%2==0)?n/2:n/2+___1___;(1) 1 (2)i (3)a[p+i]45、if (a[i]%2==___1___)(1) 1 (2)j++ (3)j46、n=__1__;(1) 0 (2)x (3)t++47、*(t+n)= __1__ ; n++; }(1) *s (2)s++ (3)n48、#define OK(i, t, n)((___1___%t==0) && (i/t<n))(1) i (2)t++ (3)count49、k= __1__ ;(注意有类似题)if(strlen(ps[k]) < strlen(__2__) )k=j;(1) i (2)ps[j] (3) tp50 for (j=a[i]*2; j<=n; j+=___1___)(1)a[i] (2)a[i] (3)0二、改错题1.(1)for(i=1;i<=y;i++)(2)t=t%1000;2.(1)if(t==0) (2) *zero=count;3.(1)*t=0; (2) if(d%2!=0)4.(1)for(i=2;i<=m;i++)(2)y-=1.0/i/i;5.(1)t=1; (2) return(2*s);6.(1)#define FU(m,n) ((m)/(n))(2)return (value);7.(1)for(i = strlen( t )-1; i;i--)(2)if(t[j] > t[j + 1 ] )8.(1)void fun(long s,long *t)(2)while(s>0)9.(1)double r;(2) while(fabs(m-n)>0.001)10.(1)b[k]=*p; (2) b[k]=' ';k++;11.(1)void fun (char *s, char *t)(2)t[2*d] = 0;12.(1)n=strlen(aa); (2)ch=aa[i];13.(1)fun(int x,int y, int z)(2)return j;14.(1) void fun(int a[][M], int m)(2)a[j][k]=(k+1)*(j+1);15.(1)c=tolower(c)(注:c小写);(2)c=c+5;16.(1) void fun(int *a)(2)a[j]=a[j-1];17.(1) if ((k%13 == 0) || (k%17 ==0))(注:双等号)(2)}(注:横线去掉)18.(1)for(i=1;i<=3;i++)(2)if(k>=0&&k<=6)19.(1) if(i%k==0)(2)if(k>=i)20.(1)char *fun(char (*sq)[M] )(2)return sp;21.(1)switch(g)(2)case 1: return 1; case 2:return1;22.(1)fun(int a[],int m)(2)else if(m>a[mid])23.(1) sum=0;(2)if((i+1)%5==0)24.(1)d=1;s=0;(2)d=d/10;25.(1) k=i;(2)c=k;26.(1)double fun(double a,double x0)(2)if(fabs(x1-x0)>0.00001)27.(1)k++; (2)if(m==k)28.(1) for(i=0;str[i];i++)(2)if(substr[k+1]==0)29.(1) float fun(int k)(2)return s;30.(1) q=p+i; (2)while(q>p)31.(1) fun (int n) (2)if(n==1)32.(1) if (n==0)(2)result *= n-- ;33.(1) int k=0;(2)while( *p || *q )34.(1) t+=s[k]; (2)*aver=ave;35.(1) while(*w)(2)if(*r==*p)36.(1) a2=k/10;(注意是十)(2)return i;37.(1) double fun (int n)(2)c=a;a+=b;b=c;38.(1)double fun(int n)(2)s=s+(double)a/b;39.(1) n= *p-'0';(2)n=n*8+*p-'0';40.(1) s[j++]=s[i];(2)s[j]=0;41.(1)sum=0;j=0;(2)if(sum%4==2)42.(1) int fun(int n,int xx[][M])(2)printf("%d",xx[i][j]);43.(1) if(p==n) return -1;(2)a[i]=a[i+1];44.(1)float k; (2)if(*c>*a)45.(1) t=a;a=b;b=t;(2)return(b); 46.(1) int i,sl;(2)t[i]=s[sl-i-1];47.(1) int j, c=0; double xa=0.0;(2)if (x[j]>=xa)48.(1) int fun(int a,int b,int c)(2)else return 1;49.(1) double fun(int n)(2)return sum;50.(1) y=1;(2) d=a-i;三、编程题1、int i=0;double s=1,a=1;while(fabs(a)>0.000001){ a=a*(0.5-i)*x/(i+1);s+=a;i++;}return s;2、int i;double s=0,a=1;for(i=1;i<=n;i++){ a=a/i;s+=a;}return s;3、while(*p1) p1++;while(*p2){ *p1=*p2;p1++;p2++;}*p1=0;4、int i=0,s=0,n=0;for(i=0;i<m;i++) s+=score[i];s/=m;for(i=0;i<m;i++){ if(score[i]<s){ below[n]=score[i];n++;}}return n;5、int i=0,k=0;char *t=a;while(*t=='*'){k++;t++;}t=a;if(k>n)t=a+k-n;while(*t){a[i]=*t;i++;t++;}a[i]='\0';6、int i=0,j=0;while(a[i]=='*') i++;while(a[i]){ a[j]=a[i];i++;j++;}a[j]=0;7、int i=1;while(ss[i-1]&&ss[i]){ if(ss[i]>='a'&&ss[i]<='z')ss[i]+='A'-'a';i+=2;}8、int i,j;STREC strTemp;for(i=0;i<N-1;i++)for(j=i+1;j<N;j++)if(a[i].s<a[j].s){strTemp=a[i];a[i]=a[j];a[j]=strTemp;}9、void fun( char *a, char *h,char*p ){ a=h;while(h!=p){if(*h!='*'){*a=*h;a++;}h++;}while(*p){*a=*p;a++;p++;}*a=0;10、int i=0;double s=0;while(h->next){ h=h->next;s+=h->s;i++;}s/=i;return s;11、int i=0,j=0;while(s[i]){ if(i%2==1&&s[i]%2==1){ t[j]=s[i];j++;}i++;}t[j]=0;12、double s=0;while(h->next){ h=h->next;if(s<h->s) s=h->s;}return s;13、 int i;for(i=0;i<n-h-e;i++) a[i]=a[i+h]; a[i]=0;14*c=a/10*10+a%10*1000+b/10+b%10*100;15、int i;double s=0,a=0;for(i=1;i<=n;i++){a+=sqrt(i);s+=a;}return s;16、int i,s=0;for(i=2;i<n;i++){ if(n%i==0) s+=i;}return s;17、int i,s=0;for(i=21;i<n;i++){if(i%3==0&&i%7==0) s+=i;}return sqrt(s);18、int i;double s=1,a=1; for(i=1;i<=n;i++){ a=a/i;s+=a;}return s;19、int i;for(i=1,*n=0;i<=x;i+=2){ if(x%i==0){ pp[*n]=i;(*n)++;}}20*c=a/10*100+a%10+b/10*10+b%10*1000;21、int i;double s=0;for(i=0;i<N;i++) s+=a->s[i];a->ave=s/N;22、char *b=a;while(b<p){ if(*b!='*'){ *a=*b;a++;}b++;}while(*p){ *a=*p;a++;p++;}*a=0;23、int i;double s=0;for(i=0;i<N;i++) s+=a[i].s;s/=N;for(i=0,*n=0;i<N;i++){ if(a[i].s<s){b[*n]=a[i];(*n)++;}}return s;24、int i;double s=0;for(i=0;i<8;i++)s+=sqrt((x[i]+x[i+1])/2);return s;25、int i;double s=0,x1=0;for(i=0;i<10;i++) x1+=x[i];x1/=10;for(i=0;i<10;i++)s+=(x[i]-x1)*(x[i]-x1);s=sqrt(s/10);return s;26、int i;double s=0;for(i=0;i<N;i++) s+=a[i].s;s/=N;for(i=0,*n=0;i<N;i++){if(a[i].s>=s){b[*n]=a[i];(*n)++;}}return s;27、int i;for(i=1,*max=a[0],*d=0;i<n;i++){if(*max<a[i]){*max=a[i];*d=i;}}28、int i=1;double s=1,a=1;while(a>eps){ a=a*i/(2*i+1);s+=a;i++;}return s*2;29、int i;double s=0;for(i=1;i<=n;i++){ s+=1.0/(i*(i+1)); }return s;30、int i,j;for(i=0,j=0;i<N;i++){ if(a[i].s>=l&&a[i].s<=h){ b[j]=a[i];j++;}}return j;31、int i=0,j=0;while(a[i]){ if(a[i]=='*') j++;else j=0;i++;}if(j>n){ a[i-j+n]='\0';}32、/* 以下代码仅供参考*/int i,len; /* len为串长*/long x=0;len=strlen(p);/* 以下完成数字字符串转换为一个数字。