就业数据资源平台
当前位置:首页 > C语言程序设计
计算机二级C语言上机考试改错题及答案3

改错题:
  下列给定程序的功能是:读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此本行(这里的”单词”是反指由空格隔开的字符串).例如,若输入I am a student to take the examination,则应输出Am A Student To Take The Examination.
  请改正程序中的错误,使程序能得出正确的结果.
  注意;不要动main函数,不得增行或删行,也不得更改程序的结构
  #include <ctype.h>
  #include <string.h>
  #include <stdio.h>
  /********found********/
  void upfst(char p)
  {
  int k = 0;
  for (; *p; p++)
  if (k)
  {
  if (*p == ' ')
  k = 0;
  }
  else
  {
  if (*p != ' ')
  {
  k = 1;
  *p = toupper(*p);
  }
  }
  }
  main()
  {
  char chrstr[81];
  printf("\nPlease enter an English text line: ");
  gets(chrstr);
  printf("\n\nBefore changing:\n %s", chrstr);
  upfst(chrstr);
  printf("\nAfter changing:\n %s\n", chrstr);
  }
  参考答案:
  第1处void upfst(char p)改为void upfst(char *p)
就业数据资源平台