300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 全国计算机等级考试题库二级C操作题100套(第89套)

全国计算机等级考试题库二级C操作题100套(第89套)

时间:2021-01-01 04:08:10

相关推荐

全国计算机等级考试题库二级C操作题100套(第89套)

第89套:

给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的 长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共 有M个字符串,且串长<N。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

给定源程序:

#include <stdio.h> #include <string.h> #define M 5 #define N 20 void fun(char (*ss)[N]) {int i, j, k=0, n, m, len; for(i=0; i<M; i++) {len=strlen(ss[i]); if(i==0) n=len; if(len>n) {n=len; ___1___=i; } } for(i=0; i<M; i++) if (i!=k) {m=n; len=strlen(ss[i]); for(j=___2___; j>=0; j--) ss[i][m--]=ss[i][j]; for(j=0; j<n-len; j++) ___3___='*'; } } main() {char ss[M][N]={"shanghai","guangzhou","beijing","tianjing","cchongqing"}; int i; printf("\nThe original strings are :\n"); for(i=0; i<M; i++) printf("%s\n",ss[i]); printf("\n"); fun(ss); printf("\nThe result:\n"); for(i=0; i<M; i++) printf("%s\n",ss[i]); }

解题思路:

第一处:使用变量k来保存第几个字符串是最长的字符串,所以应填:k。

第二处:利用for循环把原字符串右移至最右边存放,字符串的长为len,所以应填:len。

第三处:左边用字符*补齐,所以应填:ss[i][j]。

给定程序MODI1.C中函数fun的功能是: 计算整数n的阶乘。请改正程序中的错误或在下划线处填上适当的内容并把下划线删除,使它能计算出正确的结果。

注意: 不要改动 main 函数, 不得增行或删行, 也不得更改程序的结构!

给定源程序:

#include <stdio.h> double fun(int n) {double result=1.0; while (n>1 && n<170) result*=--n; return _____; } main() {int n; printf("Enter an integer: "); scanf("%d",&n); printf("\n\n%d!=%lg\n\n",n,fun(n)); }

解题思路:

第一处:–n是先减1,n–是后减1。本题应该先乘以n,再减1,才正确。

第二处:返回计算结果,所以应填:result。

编写函数fun,函数的功能是: 从s所指的字符串中删除给定的字符。同一字母的大、小写按不同字符处理。

若程序执行时输入字符串为: turbo c and borland c++ 从键盘上输入字符:n, 则输出后变为: turbo c ad borlad c++ 如果输入的字符在字符串中不存在, 则字符串照原样输出。

注意: 部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入

你编写的若干语句。

给定源程序:

#include <stdio.h> #include <string.h> int fun(char s[],char c) {} main() {static char str[]="turbo c and borland c++"; char ch; printf("原始字符串:%s\n", str); printf("输入一个字符:"); scanf("%c",&ch); fun(str,ch); printf("str[]=%s\n",str); NONO(); }

解题思路:

本题是考察考生怎样在字符串中删除指定的字符,结果仍存放在原字符串中。给出的程序是引用字符串指针p和while循环语句以及if条件判断语句进行处理的,新字符串的位置是由i 来控制的,循环结束后,再给新字符串置字符串结束符,最后产生的新字符串形参s返回到主程序中。

参考答案:

int fun(char s[],char c) {char *p = s ; int i = 0 ; while(*p) {if(*p != c) s[i++] = *p ; p++ ; } s[i] = 0 ; }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。