3月全国计算机等级考试二级c语言最新上机考试题库及答案_第1页
3月全国计算机等级考试二级c语言最新上机考试题库及答案_第2页
3月全国计算机等级考试二级c语言最新上机考试题库及答案_第3页
3月全国计算机等级考试二级c语言最新上机考试题库及答案_第4页
3月全国计算机等级考试二级c语言最新上机考试题库及答案_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1套一、填空给定函数的功能是调用 fun 函数 建立班级通讯录。通讯录记录每位学 生的编号,姓名和电话号码。班级的 人数和学生的信息从键盘读入,每个 人的信息作为一个数据块写到名为答 案的二进制文件中。答案:1. STYPE 2. FILE 3. fp二、修改先将在字符串 s 中的字符按正序 存放到 t 串中,然后把 s 中的字符按 逆序连接到 t 串后面。答案: 1. for(i = 0 ; i sl ;i+)2. t2*sl = O;三、程序将两个两位数的正整数a,答案合 并成一个整数放在 c 中。合并的方式 是:将 a 数的十位和个位数依次放在 c 数的千位和十位上,答案数的十位和 个

2、位数依次放在 c 数的百位和个位上。*c=(a/1O)*1OOO+(b/1O)*1OO+(a %1O)*1O+(b%1O);第2套一、填空从键盘输入若干行文本(每行不 超过 8O 个字符),写到文件答案中, 用-1 作为字符串输入结束的标记。然 后将文件的内容读出显示在屏幕上。 文 件 的 读 写 分 别 有 自 定 义 函 数 ReadText 和 WriteText 实现。答案 : *fw str str二、修改从低位开始取出长整形变量 s 中 的奇数位上的数,依次构成一个新数 放在 t 中,高位仍放在高位,低位仍放在低位。答案: long *t sl = sl*1O;三、程序将两个两位数

3、的正整数a,答案合 并成一个整数放在 c 中。合并的方式: 将 a 数的十位和个位数依次放在 c 数 的千位和十位上,答案数的十位和个 位数依次放在 c 数的百位和个位上。 *c=(b/1O)*1OOO+(a%1O)*1OO+(b%1O) *1O +(a/1O);第3套一、填空将自然数110以及它们的平方根 写到名为答案 yfile3txt 的文本文档 中,然后再顺序读出显示在屏幕上。答案: (1)fp (2)fclose(fp) (3)fname二、修改将 n 个无序整数从小到大排序。答 案 :for(i=j+1;in;i+)p=i;三、程序将两个两位数的正整数a,答案合 并成一个整数放在

4、c 中。合并的方式 是:将a数的十位和个位数依次放在c 数的千位和十位上,答案数的十位和 个位数依次放在 c 数的百位和个位上 *c=(b%10)*1000+(a%10)*100+(b/10) *10+(a/10);第4套一、填空调用函数 fun 将指定源文件中的 内容复制到指定的目标文件中,复制 成功时函数返回值为 1 ,失败时返回值 为 0,在复制的过程中, 把复制的内容 输出到终端屏幕。主函数中源文件名 放在变量 sfname 中,目标文件名放在变量 tfname 中答案: “r ” fs ft二、修改 将长整形数中每一位上为偶数的 数依次取出,构成一个新数放在 t 中。 高位仍在高位仍

5、在低位。答案: if(d%2=0) s /= 10;三、程序将两个两位数的正整数a,答案合 并成一个整数放在 c 中。合并的方式 是:将 a 数的十位和个位数依次放在 c 数的千位和十位上,答案数的十位和 个位数依次放在 c 数的百位和个位上。*c=(a%10)*1000+(b/10)*100+(a /10)*10+(b%10);第5套一、填空把形参 x 的值放入一个新结点并 插入到链表中,插入后结点数据域的 值仍保持递增有序。答案: x p s二、修改计算正整数num的各位上的数字 之积。答案:long k=1;num/=10 ;三、程序计算 n 门课程的平均分,计算结 果作为函数值返回。答

6、案: int i; floatave=;for(i=0; idata t二、修改将字符串中的字符按逆序输出, 单补改变字符串中的内容。答案:voidfun (char *a)printf(%c, *a) ;三、程序比较两个字符串的长度(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。若两个 字符串长度相同,则返回第一个字符 串。答案: int i; char *p=s , *q=t; int n=0,m=0; while(*p) n+;p+;while(*q)m+;q+;if(n=m) p=s;else p=t; return p;第7套一、填空删除链表中 数据域 值相同 的结

7、 点,使之只保留一个答案 : q next next二、修改用选择法对数组中的 n 个元素按 从小到大的顺序进行排序。答案: p = j; p=i;三、程序求出 1 到答案之间(含答案)能 被7或1 1整除的所有整数放在数组 a 中,通过 n 返回这些数的个数。答案: int i ,j=0;*n=0 ;for(i=1 ; i=m; i+) if(i%7=0|i% 11 = 0) aj=i; j+; *n=j;第8套一、填空 在带有头结点的单向链表中,查 找数据域中值为 ch 的结点。找到后通 过函数值返回改结点在链表中所处的 顺序号;不存在,函数返回 0 值答案: NULL n head ,c

8、h二、修改删除 p 所指字符串中的所有空白 字符, 输入字符串是用“ #”结束输入。答 案 : for(i=0,t=0;pi;i+) ct=0;三、程序将 ss 所指字符串中所有下标为奇 数位置上的字母转换成大写答案 : int i ; for(i=1;i=a&ssi = z) ssi - =32 ;第9套一、填空统计出带有头结点的单向链表中 的个数,存放在形参 n 所指的存储单 元中。答案: *n next head、修改求出 s 所指字符串中最后一次出 现的 t 所指子字符串的地址,通过函 数返回值返回,在主函数中输出从此 地址开始的字符串;若未找到,则函 数值为 NULL答案: a =

9、NULL; if(*r =*p)三、程序将 s 所指字符串中除了下标问为 偶数,同时 ASCII 值也为偶数的字符 外,其余的全部删除:串中剩余字符 所形成的一个新串放在 t 所指的数组 中答案 : int i, j = 0 ; for(i =0 ; i strlen(s) ; i += 2) if(si % 2 = 0) tj+ = si ;tj = 0 ;第 10 套 一 填空计算出带有头结点的单向链表中 各结点数据域中值之和作为函数的返 回值。答案 : data next head二、修改将 s 所指字符串中出现的与 t1 所 指字符串相同的字串全部替换成 t2 所 指字符串,所形成的新

10、串放在 w 所指 的数组中,在此处,要求 t1 和 t2 所 指字符串的长度相同。答案 : while(*r) *a=*r ;a+; r+;三、程序将 s 所指字符串下标为偶数的字 符删除,串中剩余字符形成的新串放 在t所指的数组中答案 : int i, j = 0 ; for(i =1 ; i strlen(s); i+=2) tj+ =si ; tj = 0 ;第 11 套一填空找出指定编号人员的数据作为函 数值返回,由主函数输出,若指定编 号不存在,返回数据中的编号为空串答案 : STU stdi.num stdi二、修改从 s 所指字符串中,找出与 t 所 指字符串相同的字串的个数作为

11、函数 返回值答案: r+; p+ ; if (*r= 0 )三、程序将 s 所指字符串中 ASCII 值为偶 数的字符删除,串中剩余字符形成一 个新串放在 t 所指的数组中答案: int i, j = 0 ; for(i =0 ; i strlen(s); i+) if(si %2) tj+ = si ; tj =0 ;第 12 套一、填空找出指定出生年份的人员,将数 据放在形参 k 所指的数组,由主函数 输出,有函数值返回满足指定条件的 人数答 案 : stdi.year stdi n二、修改读入一个整数 k(2k1000), 打印她的所有因子答案 : 分号 去掉 or Isprime (i

12、nt n) if (!( n%i )三、设计找出成绩最高的学生记录,通过 形参指针传回主函数答案: int i, max = a0.s, j = 0; for(i = 1 ; i N ; i+) if(max ai.s) j = i ; max = ai.s ; *s = aj ;第 13 套 一、填空给定程序。将该学生的各科成 绩都乘以一个系数 a答案 : STU scorei &std 二、修改求 k!(k0) else if(k=0)三、程序 使数组左下三角元素的值乘以 n 答案 : int i, j; for(i =0 ;i N ; i+) for(j = 0 ; j = i; j+)

13、 aij *= n ;第 14 套一、. 填空 将形参所指结构体数组中的三个元素按num成员进行升序排列 答案 : *std PERSON std二、修改将 m 个字符串连接起来组成一个 新串,放入 pt 所指存储区中答 案 :int k,q,i;pti=strki;三、程序 使数组左下三角元素中的值全部值0答案: int i, j; for(i = 0 ;i N ; i+)for(j = 0 ; j = i; j+)aij =0;第 15 套一、. 填空将形参 std 所指结构体数组中年 龄最大者的数据作为函数值返回,并 在主函数中输出答案: *std stdi.age二、修改实现两个整数的

14、交换答案 :void fun( int *a,int*b) t t= *b; *b= *a ; *a = t;三、程序请编写一个函数、tt指向一个M 行 N 列的二维数组,求二维数组每列 中最小元素,并以此放入 pp 所指一维 数组中。二维数组中的数已在主函数 中赋予答案 : int i,j, min, k ; for(i = 0 ; i N;i+) min = tt0i;k = 0 ; for(j = 1 ; j ttji) min=ttji ; k = j ; ppi = ttki ; 第 16 套一、. 填空程序通过定义。输出这位学生的 信息答案: tt i std二、修改求出数组中最大

15、数和次大数,并 把最大数和a【0】中的数对调,次最 大数和 a【 1】中的书对调答 案 : m=i; if(akam )m=k;三、程序请编写一个程序。w是一个大与 10的无符号整数,若w是n为的整数, 函数求出w的低n-1位的数作为函数 值返回答 案 :unsigned t,s=0,s1=1,p=0;t=w; while(t10)if(t/10)p=t%10;s=s+p*s1;s1=s1*10; t=t/10; return s;第17套一、. 填空对形参 ss 所指字符串数组中的 M 个字符串按长度由短到长进行排序。ss所指字符串数组中共有M个字符串, 且串长 N答案 : i+1 k=j

16、t二、修改判断 ch 中字符是否与 str 所指串 中的某个字符相同;若相同,什么也 不做,若不同,则将其插在串的最后答案: void fun(char *str,char ch)if ( *str != ch )str1= 0 ;三、设计请编写一个函数把 s 所指字符串 中的内容逆值答案: char bN ; int i = 0, j ; memset(b,0,N);for(j =strlen(s) - 1 ; j = 0 ; j-)bi+= sj ; strcpy(s,b);第18套一、填空求出形参 ss 所指的字符串数组中 最长字符串的长度,其余字符串左边 用字符*补齐,使其与最长的字符

17、串等 长,字符串数组中共有 M个字符串答案 : k len ssij二、修改计算整数 n 的阶乘答案 : result*=n-; return result ;程序从 s 所指的字符串中删除给定字 符。同一个字母的大小写按不同字符 处理答案 : char*p=s; int i = 0; while(*p) if(*p!= c) si+ = *p ; p+; si = 0 ;第 19 套一、. 填空求出形参 ss 所指字符串数组中最 长字符串的长度,将其余字符串右边 用字符*补齐,使其与最长的字符串等 长。Ss所指的字符串数组中共有M个 字符串答案 : ssi n+j 1二、修改将 p 所指字符

18、串中每个单词的最 后一个字母改成大写答 案 :if(*p= ) *(p-1)=toupper(*(p-1);三、程序请编写函数 fun 对长多为 7 个字 符的字符串,除首,尾字符外,将其 余 5 个字符按 ASCII 降序排列答案 : char t ; int i, j ; for(i = 1 ; i num-2;i+) for(j=i+1;jnum-1;j+) if(sisj)t=si;si=sj; sj=t ;第 20 套一、. 填空求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值 返回,并把其串长放在形参 n 所指变 量中。Ss所指字符串数组中共有 M个字符串答案 : N

19、 len *n=len二、修改根据形参答案,计算如下公式的 值答案 : t +=i; return t;三、程序 编写一个函数。该函数可以统计 一个长度为 2 的字符串在另个字符串 中出现的次数答案 : int cnt = 0; char *p = str,*q;while(*p)q=strstr(p,substr); if(q=NULL)break; p=q+strlen(substr);cnt+; return cnt ;第 21 套一、. 填空求 ss 所指字符串数组中长度最短 的字符串所在的行下标,作为函数值 返回,并把其串长放在形参 n 所指变 量中答案: M k二、修改将 tt 所

20、指字符串中的小写字母都 改为对应的大写字母,其他字符不变答 案 :if( a =tti)&(tti=z) tti-= 32;三、程序将大于1小于整数m的非素数存 入 xx 所指数组中非素数的个数通过 k 传回答案 :int i,j; int t=0; for (i=2;im;i+)j =2; while (ji) if (i%j=0)xxt=i; t+;break; j+; *k=t;第 22 套一、. 填空将 s 所指字符串中的所有数字字 符转移到所有非数字字符之后,并保 持数字字符和非数字字符串原有的前 后次序答案 : j+ si=t1i j二、修改用冒泡法对 6 个字符串由小到大 的顺序

21、进行排序答案 : for ( j=i+1 ;j6 ;j+)*(pstr + i)= *(pstr + j);三 程序求出 ss 所指字符串中指定字符的 个数,并返回此值答案: int cnt = 0 ; char *p= ss ; while(*p) if(*p = c) cnt+ ; p+ ; return cnt;第 23 套一、. 填空在形参所指字符串中的每个数字 字符之后插入一个 * 号答案: & 0 sj二、修改根据整形形参m计算如下公式的 值答 案 :for(i=2;i =m;i+) y+=(i*i) ;三 程序实现B=A+A,即把矩阵A加上A 的转置,存放到 B 中答案: int

22、 c33 ; int i,j ; for(i = 0 ; i 3 ; i+) for(j= 0 ; j 3 ; j+) cij = aji ; bij = aij + cij ; 第 24 套一、 . 填空统计形参 s 所指字符串中数字字 符出现的次数,并存放在形参 t 所指 的变量中,最后在主函数中输出。答案: si9 *t=n二、修改通过某种方式实现俩个变量值的 交换,规定不予许增加语句和表达式答案 : t = *x ; *x = y ; return(t) ;三、程序求出 1 到 1000 之间能被 7 或 11 整除,但不能同时被 7和 11整除的所 有整数并将他们放在 a 所指的数组

23、中, 通过 n 返回这些数的个数答案 : int i ; *n = 0 ; for(i = 7 ; i 1000 ; i+) if(i % 7) = 0 | (i %11) = 0) & (i %77) != 0) a(*n)+ = i ;第 25 套一、 . 填空把形参 s 所指字符串中下标为奇 数的字符右移到下一个奇数的位置, 最后边被移除字符串的字符绕回放到 第一个奇数位置,下标为偶数的字符 不动答案: 1 sk c二、填空求 s=aaaa-.aaa-aa-a答 案 : long s=0, t=0; t=t/10 ;三、程序请编写一个函数。统计在 tt 所 指字符串中&至z 26个小写字

24、 母各自出现的次数,并依次放在 pp 所 指数组中答案: char *p = tt ; int i ; for(i = 0 ; i = a& *p=num) t=s/n;三、程序 删除一个字符串中指定下标的字 符,其中,a指向原字符,删除指定字 符后的字符串存在 b 所指的数组中, n 中存放指定下标答 案 : int p,m=0; for(p=0;pLEN;p+) if(p!=n) bm=ap; m+; bm= 0 ;第 27 套一 填空 在形参所指字符串中寻找一个字 符串与参数 c 相同的字符,并在其后插入一个与之相同的字符,若找不至 相同的字符则函数不做任何处理答案 : 0 0 c二 修

25、改计算数组元素中值为正数的平均 值答案 : double sum=; sum/=c;三 设计根据以下公式 s ,计算结果作为函 数返回值, n 通过形参传入答案 : int k; float str =, sum=;for(k=2;k=n; k+) sum =sum+k;str =str+1/sum; return str;第 28 套一 填空有N*N的矩阵,根据给定的m的 值,将每行元素中的值均右移 m个位 置,左边置为 0答案 : i+m m二 修改计算并输出 high 以内最大的 10 个素数之和。 High 的值由主函数传给 fun 函数答 案 : while(2=high) & (n

26、;return x1;第 29. 套一 填空将N*N的矩阵中元素值按列右移1个位置,右边被移出矩阵的元素绕回左边答案 : N N-1 0二 修改计算并输出下列的前N项之和Sn, Sn+1大于q为止,q的值通过形参传 入答案 : s=s+(n+1.)/n; returnt;三 设计求Fib on.数列中大于t的最小 的一个数,结果由函数返回,答案: int f0 = 0, f1 = 1, f ; do f = f0 + f1 ; f0 = f1 ; f1 = f ; while(f t) ; return f ;第 30 套一. 填空有 N*N 矩阵,将矩阵的外围元素 顺时针逆转,操作顺序是:首

27、先将第 一行元素的值存入临时数组 r ,然后使 第一列成为第一行,最后一行成为第 一列,最后一列成为最后一行。临时 数组中的元素成为最后一列答案: 0 j- - j二 修改计 算 s=f(-n)+f(-n+1)+f(O)+f+f(2)+f(n)的值,答案 : double f(double x) return s ;三 设计编写函数 fun ,他的功能是计算 s=ln(1)+ln(2.).ln(m)开根号答案: double s = ; int i ;for(i = 1 ; i = m ; i+) s += log* i) ; s = sqrt(s) ; return s ;有 N*N 矩阵,

28、以主对角线为对称 线,对称元素相加并将结构存放在左 下三角元素中,右上三角元素之位 O答tji案:Ntij二修改计算函数第 31 套. 填空F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y) 的值。其中 x 和 y 的值不等, z 和 y 的 值不等答案 : (m)/(n) return(value);三 设计将字符串中的前导 *号全部删除, 中间和尾部的 * 号不删除答案: int j=O; char *p = a ; while(*p = *) p+ ; while(*p) aj+ = *p;p+; aj=O ;第 32 套 一 . 填空将 N*N 矩阵主对角线元素中的值 域

29、反向对角线对应位置上的元素中的 值交换答案: t N i=O;iamid)三 设计除了尾部的 *号外,将字符串中的 *号全部删除,形参 p 以指向字符串中 最后的一个字符,答案 : char *q=a; int j=O; while(*q & q三 设计除了尾部的 * 号外,将字符串中的 *号全答案 : int j=0; char *q=a; while(*q &qh) aj+= *q+ ; while(*h&*p &hn)while(*p&pt+n) ai=*p;i+;p+;ai= 0;第 36 套一 . 填空把形参 a 所指数组中的最小值放 在元素 a 【0】中,按着把形参 a 所指 数组

30、中的最大值放在a【1】元素中;在把 a 所指数组中的次小元素放在 a【2】所指的数组中,把a所指的数组 元素中的次大放在 a 【3】 ;其余以此类 推答案 : ai aj aj二 修改用递归算法计算非波拉且数列中第 n 项的值,答案 :switch(g)case 1:return 1;case 2:return 1;return ave ;三 设计求学生的平均分放在记录的 ave 成员中sum=;答案: int i ; for(i =0 ; i ave = a-ave+a-si ; a-ave /= N ;第 37 套一 . 填空把形参 a 所指数组中的最大值放 在 a【 1】中,按着求出 a

31、 所指数组中 的最小值放在a【1】数组中;把a所 指数组元素的次大值放在 a【2】中, 把 a 数组元素中的次小值放在 a【3】 中;其余以此类推。答案: *a 2 i+1二 修改按顺序给 s 所指数组中的元素赋 予从 2 开始的偶数,在按顺序对每五 个元素求个一平均值,并将这些值依 次存放在w所指的数组中,若s所指 数组元素的个数不是 5 的倍数,多于 部分忽略不计答案if(i+1)%5=0)三 设计把低于平均分的学生数据放在答 案所指的数组中,低于平均分的学生 人数通过形参 n 传回,平均分通过函 数值返回答案: inti ; double ave = ;*n = 0 ; for(i =

32、0; i N ; i+) ave = ave + ai.s;ave/=N;for(i=0;iN;i+)if(ai.s ave)b*n=ai;(*n)+;第 38 套一 . 填空将形参 a 所指的数组中的前半部 分元素中的值和后半部分元素中的值 兑换,形参 n 中存放数组中数据的个 数,若n为奇数,则中间的元素不动答案 : 1 i ap+i二 修改把主函数中输入的 3 个数,最大 的放在 a 中,最小的放在 c 中,中间 的放在 b 中答案 : float k; if(*a*c)三 设计把分数最高的学生的数据放在 h 所指数组中,答案 : int i, max = a0.s,n=0;for(i=

33、 1; i N; i+)if(max ai.s)max= ai.sfor(i = 0;i N; i+)if(max=ai.s)bn+= aireturn n;第 39 套一. 填空逆置数组元素中的值。答案 : n/2 i an-1-i二 修改将一个由八进制数字字符组成的 字符串转换为与其面值相等的十进制 整数,规定输入的字符串最多只能包 含 5 为八进制数字字符答案:n=*p-O:n=n*8+*p-0;三 设计函数返回指定学生的学生数据, 指定的学号在主函数中输入,若没找 到指定学号,在结构体变量中给学号 置空串,给成绩置 -1 ,作为函数值返 回答案: STREC c ; int i ;O

34、= O ; = -1 ; for(i = O ; i N ; i+) if(strcmp(ai.num,b)=O) strcpy,ai.num);=ai.s;break ; return c ;第 4O 套一 . 填空函数 fun 的功能。进行数字字 符转换,若形参 ch 中是数字字符 O-9 , 则0转换为9,1转换为8,2转换为7 9转换为0;其他字符则保持不变;转 换后的结果作为函数值返回答案 : char chnext;double av=;intn =0 ;while(p!=NULL) av=av+p-s ; p=p-next; n+; av /= n ;return av;第 41

35、 套 一 . 填空函数 fun 的功能。进行字母转换, 其他字符则保持不变,答案: & A ch二 修改给一维数组 a 输入任意 4 个整数, 并按下列的规律输入答 案 :void fun(int*a)aj=aj-1;三 设计计算并输出给定整数 n 的所有因 子之和,规定 n 的值不大于 1000答案 : int s = 0, i ; for(i =2 ; i n ; i+) if(n % i = 0) s +=i ; return s ;第 42. 套一 填空计 算f(x)=1+x-x2/2(-1)n-1xn/n!前 n 项答案: 1 -1 t二 修改从 3 个红球, 5 个白球, 6 个黑

36、球 中任意取出 8 个作为一组,进行输出。 每组,可以没有黑球,但必须有红球 和白球,答 案 : for(i=1; i=0 & k=6)三 设计计算 Sn=1+1/1!+1/2!.+1/n!答案 :double s=1;long t=1;inti; for(i=1;i=n;i+) t=t*i; s+=1./t; return s;第 43 套一 . 填空计算 f(x)=1+x-x2/2!.(-1)xn/n!至到 |xn/n!|10-6答案 : x n fabs(t)二 修改求整数 x 的 y 次方的低 3 为的值,答案: =xn=xn*x*+1) /n; n+=1; sn+=xn; retur

37、n(sn);第 44 套一 . 填空计算 f(x)=1+x+x2/2!.xn/n!的前 n 项,答案 : 1 1 i二 修改找出 100 至 n 之间三位数字相等 的所有整数,把这些整数放在 s 所指 数组中,个数作为函数值返回答案: k=i; c=k%10;三 设计计算并输出给定 10个数的方差答案 : inti; double avg=,sum=,abs=, fc; for (i=0;i10;i+) sum+=xi;avg=sum/10;for (i=0;i10;i+) abs+=(xi-avg)*(xi-avg); fc=sqrt(abs/10) ; return fc;第 45 套一

38、. 填空计算 f(x)=1+x+x2/2!+.xn/n!至到 |xn/n!|10-6答案 : x n t二 修改、计算 n 的 5 次方的值,通过形参 指针传回主函数;计算该值的个位, 十位,百位上数字之和作为函数值返 回答案 : d=1; s=0; d=d/10;三 设计计算并输出给定数组中每相邻两 个元素之平均值的平方根之和答 案 :int i;doubleavg=,sum=;for(i=0;i1 &n=100) for(i=1; i=n; i+)sum+=(2*i-1)(2*i); returnsum;第 47 套一 . 填空统计长整形数 n 的各个位上出现 数字 1、2、3 的次数,并

39、通过外部变量 c1、 c2、c3 返回主函数设计答案 : n%10 break break二 修改统计一个无符号整数中各个数字 值为零的个数,通过形参传回主函数, 把整数中最大的数字值作为函数值返 回答案:if( t=0) *zero=co unt;三 设计计算 S=1+1/1*2+1/1*2*3 答案 : double s=0, t=1; int i ; for(i=1; i=n; i+) t *= i; s+= 1./t; return s;第 48 套一 . 填空首先从素数 2 开始。用筛选法可 得到 2-n 之间的所有素数,方法是: 首先从素数 2 开始,将所有 2 的倍数 的数答案:

40、 ai ai 0二 修改为一个偶数寻找两个素数。这两 个素数之和等于该偶数,并将各两个 素数通过形参指针传回主函数答案 : y=1; d=a-i;计算并输出 n 以内的能被 5 或 9 整除的所有自然数的倒数之和答案:int i; double sum=;for(i=1; i=n; i+) if(i%5 = 0 | i%9 = 0) sum+=i; return sum;第 49 套 一 . 填空甲乙丙丁四人同时开始放鞭炮, 甲每个 t1 秒放一次答案 : i t+ count二 修改根据输入的三个边长,判断能否 构成三角形,构成的是等边三角形, 还是等腰三角形。若能构成等边三角 形,函数返回

41、 3,若能构成等腰三角形 函数返回 2,若能构成一般三角形函数 返回 1 ,若不能构成三角形函数返回 0答案 : int fun(int a,int b,int c) else return 1;三 设计计算 3 到 n 之间所有素数的平方 根之和答案 : int i,j=0; double s=0; for (i=3;i=n; i+) for (j=2; ji;j+)if (i%j = 0) break; if (j = i) s=s+sqrt(i); return s;第 50 套 一 . 填空从三个形参 中找出 中间的 那个 数,作为函数值返回答案: a a b二 修改首先将大写字母转换

42、为对应的小 写字母,若小写字母为 a-u 字将其转 换为其后的第 5 个字母,若小写字母 为 v-z ,使其值减 21. 转换后的小写字修改母作为函数值返回第 51 套一. 填空第 52 套一. 填空答案 : c=c+32; c=c+5;三 设计计算S=1+(1+|2|)+(1+|2|+|3|)(!+|2|.|n|)答案 : int i; double fac=;double sum=;for(i=2;i0)三 设计按分数的高低排列学生记录,高 分在前答案 : STRECtmp; int i,j; for(i = 0; i N; i+)for(j = i+1; j N; j+) if(ai.s

43、 aj.s) tmp = ai; ai = aj; aj = tmp; 第 53 套 一 . 填空将形参 n 中,各位上位偶数的数 取出,并按原来从高到低的顺序组成 一个新的数,并作为函数值返回答案 : 1 s i*10二 修改输出M行M列的整数方阵,然后 求两条对角线上元素之和,返回此和 数答 案 :int fun(int n,int xxM)Printf( “%4d”,xxij);三 设计将 ab 中的两个两位正整数合并形 成一个新的正整数放在 c 中,合并方 式是:将 a 中的十位和个位数依次放 在变量c的百位和个位上,b中的十位 数和各位数一次放在变量 c 的千位和 十位上 *c=(a

44、/10)*1000+(b%10)*100+(a%10) *10+(b/10);第 54 套 一 . 填空答案: 999 t/10 x 将形参 n 中,个位上位偶数的书s=O,t; int i+;t=pj-O;计算S=1*3/22第 56 套. 填空设计取出,并按原来从高到低相反的顺序 组成一个新的数,并作为函数值返回答案 : 0 x*10 n/10二 修改 将长整形数种每一位上为奇数的 依次取出,构成一个新数放在 t 中, 高位仍在高位,低位仍在低位答案 : *t=0; if(d%2!=0)三 设计实现两个字符串的连接把答案 2 所指的字符串连接到答案 1 所指的字 符串后答案 : char *p=p1; while(*p)p+; while(*p2) *p+=*p2+; *p=0;第 55 套一 . 填空将形参 n 所指变量中,各位上位 偶数的数去除,剩余的书按原来从高 到底的顺序组成一个新的数,并通过 形参指针 n 传回所指变量答案: 10 0 x二 修改计算 n!答案 : if (n = 0) result *=n-;-三 设计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论