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

Posted 行稳方能走远

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全国计算机等级考试题库二级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 ; 
} 

以上是关于全国计算机等级考试题库二级C操作题100套(第89套)的主要内容,如果未能解决你的问题,请参考以下文章

2011年全国计算机等级考试2级C语言机试题库

2020年全国计算机等级考试《二级C语言程序设计》全套资料教材+历年真题+题库+考前冲刺

计算机二级C语言题库(44套真题+刷题软件)第一套

计算机二级C语言测试题及答案解析

计算机二级MS offic难考过吗?是否60分及格?

二级C语言考试选择真题分类练习讲解——C语言基本语法