计算机二级C语言上机考试改错题及答案2
分类: 计算机
时间: 2022-07-18 14:50:34
作者: 全国等级考试资料网
改错题
下列给定程序中,函数fun的功能是:将大写字母转换为对应小写字母之后的第五个字母;若小写字母为v~z,使小写字母的值减21.转换后的小写字母作为函数值返回.例如,若形参是字母A,则转换字母为小写字母f;若形参是字母W,则转换为小写字母b.
请改正函数fun中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
char fun(char c)
{
/********found********/
if (c>=’A’ && c<=’Z’) 来源:www.examda.com
c = c-32;
/********found********/
if (c>=’a’ && c<=’u’)
c = c-5;
else if (c>=’v’ && c<=’z’)
c = c-21;
return c;
}
main()
{
char c1, c2;
printf(" Enter a letter(A-Z): ");
c1 = getchar();
if (isupper(c1))
{
c2 = fun(c1);
printf(" The letter %c change to %c ", c1, c2);
}
else
{
printf(" Enter (A-Z)! ");
}
}
参考答案:
第1处:c=c-32;应改为c=c+32;
第2处:c=c-5; 应改为 c=c+5;
下列给定程序中,函数fun的功能是:将大写字母转换为对应小写字母之后的第五个字母;若小写字母为v~z,使小写字母的值减21.转换后的小写字母作为函数值返回.例如,若形参是字母A,则转换字母为小写字母f;若形参是字母W,则转换为小写字母b.
请改正函数fun中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
char fun(char c)
{
/********found********/
if (c>=’A’ && c<=’Z’) 来源:www.examda.com
c = c-32;
/********found********/
if (c>=’a’ && c<=’u’)
c = c-5;
else if (c>=’v’ && c<=’z’)
c = c-21;
return c;
}
main()
{
char c1, c2;
printf(" Enter a letter(A-Z): ");
c1 = getchar();
if (isupper(c1))
{
c2 = fun(c1);
printf(" The letter %c change to %c ", c1, c2);
}
else
{
printf(" Enter (A-Z)! ");
}
}
参考答案:
第1处:c=c-32;应改为c=c+32;
第2处:c=c-5; 应改为 c=c+5;