国家计算机二级考试C语言100套上机题

2019-08-03 12:19

第一套

1.下列给定程序中,函数fun的功能是计算如下公式 直到 ,并且把计算结果作为函数值返回。

例如,若形参e的值为1e-3,则函数返回值为0.551690。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 (1)3.0或(double)3 (2)> (3) (t+1)

2.下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和。和值通过函数值返回。

例如,若n=5,则应输出8.391667。

请改正程序中的错误,使其得出正确的结果。 (1)double fun(int n) (2)s=s+(double)a/b;

3.请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。

int fun (int a[ ][M]) {

int i,j,max=a[0][0]; for(i=0;i<2;i++) for(j=0;j第二套

1.下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。 例如,当形参n的值为10时,函数返回值为9.612558。

请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 (1) 0 (2) n (3) (t*t)

2.下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。

例如,若字符串为aaas 1kaaas,子字符串为as,则应输出2。 请改正程序中的错误,使它能得出正确的结果。 (1)for(i=0;str[i];i++) (2)if(substr[k+1]== ′\\0′)

3.编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。

程序运行后,若输入精度0.0005,则程序应输出为3.14…。 double fun( double eps) {

double s=1.0,s1=1.0; int n=1;

while(s1>=eps) /*当某项大于精度要求时,继续求下一项*/ { s1=s1]s=s+s1; /*求和*/

n++; }

return 2]

第三套

1.给定程序中,函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,若形参s所指的字符串为abcdef35adgh3kjsdf7,则输出结果为4。

请在下划线处填入正确内容并将下划线删除,使程序得出正确的结果。 (1) s[i] (2) '9' (3)*t=n

2.下列给定程序中函数fun的功能是:实现两个变量值的交换,规定不允许增加语句和表达式。

例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。 请改正程序中的错误,使它得出正确的结果。 (1)t = *x ; *x = y ; (2)return(t) ;或return t;

3.编写函数fun,其功能是:求出1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。 void fun(int *a,int *n) {

int i,j=0;

for(i=1;i<=1000;i++) /*求1到1000之内能被7或11整除但不能同时被7和11整除的所有整数,并放入数组a中*/

if((i%7==0||i==0)&&iw!=0) a[j++]=i;

*n=j; /*传回满足条件的数的个数*/ }

第四套

1.下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。

例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。

请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 (1)1 (2) j++ (3)j

2.下列给定程序中函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。 例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。 请改正程序中的错误,使它能得出正确结果。 (1) t=a;a=b;b=t; (2) return(b);或return b;

3.规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:删除字符串中所有的*号。编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:****A*BC*DEF*G*******,删除后字符串中的内容应当是:

ABCDEFG。 void fun(char *a) {

int i,j=0;

for(i=0;a[i]!=′\\0′;i++) if(a[i]!=′*′)

a[j++]=a[i]; /*若不是要删除的字符′*′则留下*/ a[j]=′\\0′; /*最后加上字符串结束符′\\0′*/ }

第五套

1.下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。 例如,输入一个整数27638496,函数返回值为64862。

请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 (1)0 (2) 10]

2.下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。

例如,当s中的数为87653142时,t中的数为7531。 请改正程序中的错误,使它能得出正确的结果。 (1)*t=0; (2)if(d%2!=0)或if(d%2==1)

3.编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。 例如,分别输入下面两个字符串: FirstString-- SecondString 程序输出:

FirstString--SecondString void fun(char p1[],char p2[]) {

int i,j;

for(i=0;p1[i]!=′\\0′;i++); /*求出的i为p1字符串的总长度,包括结束标记符*/

for(j=0;p2[j]!=′\\0′;j++)

p1[i++]=p2[j]; /*将p2字符串连在p1字符串后面*/ p1[i]=′\\0′; /*在字符串最后加上结束标记符*/ }

第六套

1.下列给定程序中,函数fun的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],以此类推。

例如,若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,

数据排列为:1、9、2、8、3、7、4、6、5。形参n中存放a所指数组中数据的个数。 规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 (1) a[i] (2) a[j] (3) a[j]

2.下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、…… 例如,若给n输入7,则该项的斐波拉契数值为13。 请改正程序中的错误,使它能得出正确结果。 (1) 去掉分号

(2) case 1:case2:return 1;

3.某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。 例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。 void fun(STREC *a) {

int i;

a->ave=0.0;

for(i=0;i

a->ave=a->ave+a->s[i]; /*求各门成绩的总和*/

a->ave=a->ave/N; /*求平均分*/ }

第七套

1.下列给定程序中,函数fun的功能是进行数字字符转换。若形参ch中是数字字符'0'~'9',则将'0'转换成'9','1'转换成'8','2'转换成'7',……,'9'转换成'0';若是其它字符则保持不变;并将转换后的结果作为函数值返回。

请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 (1) char (2) ch<='9' (3) '0'

2.下列给定程序中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。

例如,若给a输入字符串:ABCDEFGKHIJK,调用函数后,字符数组b中的内容为:ABC DEF GHI JK。

请改正程序中的错误,使它能得出正确结果。 (1) b[k]=*p;

(2) b[k]=′ ′;k++;

3.N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,其功能是:求出平均分,并由函数值返回。

例如,若学生的成绩是:85 76 69 85 91 72 64 87,则平均分应当是:78.625。 double fun(STREC *h) {

double av=0.0;

STREC *p=h->next; /*p直接指向\头结点\的下一个结点,即第一个成绩*/ while(p!=NULL)

{ av=av+p->s; /*求总分数*/ p=p->next; }

return av/N; /*返回平均值*/ }

第八套

1.下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长

请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 (1) M (2) < (3) k

2.下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其它字符不变。

例如,若输入\,cD\,则输出\,CD\。 请改正程序中的错误,使它能得出正确的结果。 (1)if(( tt[i]>=′a′ )&&( tt[i] <= ′z′) (2)tt[i]-=32;

3.编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。

例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。 void fun(int m, int *k, int xx[]) {

int i,j,n=0;

for(i=4;i

*k=n; /*返回非素数的个数*/ }

第九套

1.下列给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。

例如,s所指的字符串为def35adh3kjsdf7,执行后结果为defadhajsdf3537。 请在程序的下划线处填入正确的内容把下划线删除,使程序得出正确的结果。 (1)j++或j+=1或++j或j=j+1 (2)s[i]=t1[i] (3) j

2.下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。 请改正程序中的错误,使它能得出正确的结果。 (1)for (j = I + 1; j < 6; j++) (2)(pstr + I) = *(pstr + j) ;

3.编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。


国家计算机二级考试C语言100套上机题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:市政临时占道施工方案(排版+全面内容) - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: