首页>计算机等级考试>模拟试题>正文
计算机等级考试模拟试题汇总

www.zige365.com 2007-4-18 16:52:25 点击:发送给好友 和学友门交流一下 收藏到我的会员中心
2. 改错题
下列给定的程序中,函数fun()的功能是:计算并输出k以内最大的6个能被7或11整除的自然数之和。K的值由主函数传入,若k的值为500,则函数的值为2925。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
#include <conio.h>
int fun(int k)
{
  int m=0,mc=0, j;
/**********************found***********************/
  while(k>=2)&&(mc<6)
     {
/**********************found***********************/
      if((k%7=0)||(k%11=0))
        {
/**********************found***********************/  
          m=k;
          mc++;
        }
      k--;
     }
  return m;
}
main()
{
  clrscr();
  printf("%d\n ",fun(500));
}

答案及评析:
(1)错误:while(k>=2)&&(mc<6)
正确:while((k>=2)&&(mc<6))
(2)错误:if((k%7=0)||(k%11=0))
正确:if((k%7==0)||(k%11= =0))
(3)错误:m=k;
正确:m=m+k;
【解析】错误1:C语言规定while语句后的表达式两侧必须要有圆括号。
错误2:if语句的判断条件应用关系运算符,而不是赋值运算符。
错误3:根据题意,将满足条件的数求累加和。

3. 编程题
请编写一个函数fun(),它的功能是:将ss所指字符串中所有下标为偶数位置的字母转换为小写(若该位置上不是字母,则不转换)。
例如,若输入ABC4efG,则应输出aBc4efg。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#include<string.h>
void fun(char *ss)
{


}
main()
{
  char tt[81];
  clrscr();
  printf("\nPlease enter an string within 80 characters:\n");
  gets(tt);
  printf("\n\nAfter changing, the string\n  \%s",tt);
  fun(tt);
  printf("\nbecomes\n \%s\n",tt);
}
答案及评析:
void fun(char *ss)
{
  int i;
  for(i=0;ss[i]!='\0';i++)       /*将ss所指字符串中所有下标为偶数位置的字母转换为小写*/
     if(i%2==0&&ss[i]>='A'&&ss[i]<='Z')  
        ss[i]=ss[i]+32;
}
【解析】从C语言的学习中我们知道,只要将小写字母减去32则转成大写字母,将大写字母加上32则转成小写字母。该程序是用if语句实现该功能转化的。

本新闻共11页,当前在第6页  1  2  3  4  5  6  7  8  9  10  11  

我要投稿 新闻来源: 编辑: 作者:
相关新闻