计算机二级C语言上机考试改错题及答案3
改错题: 下列给定程序的功能是:读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此本行(这里的”单词”是反指由空格隔开的字符串).例如,若输入I am a student to take the examination,则应输出Am A Student To Take The Examination. 请改正程序中的错误,使程序能得出正确的结果. 注意;不要动main函数,不得增行或删行,也不得更改程序的结构 #include #include #include /********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(" Please enter an English text line: "); gets(chrstr); printf(" Before changing: %s", chrstr); upfst(chrstr); printf(" After changing: %s ", chrstr); } 参考答案: 第1处void upfst(char p)改为void upfst(char *p) 相关资料 |