计算机二级C语言上机考试改错题及答案1
分类: 计算机
时间: 2019-01-23 14:14:56
作者: 全国等级考试资料网
改错题
下列给定程序中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中,例如,当s中的数为7654321时,t中的数为7531。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
/********found********/
void fun(long s, long t)
{
long s1 = 10;
*t = s%10;
while (s > 0)
{
s = s/100;
*t = s%10*s1 + *t;
/********found********/
s1 = s1*100;
}
}
main()
{
long s, t;
printf(" Please enter s:");
scanf("%ld", &s);
fun(s, &t);
printf("The result is: %ld ", t);
}
参考答案:
第1处:void fun(long s, long t)应改为 void fun(long s, long *t)
第2处:s1=s1*100;应改为s1=s1*10;
下列给定程序中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中,例如,当s中的数为7654321时,t中的数为7531。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
/********found********/
void fun(long s, long t)
{
long s1 = 10;
*t = s%10;
while (s > 0)
{
s = s/100;
*t = s%10*s1 + *t;
/********found********/
s1 = s1*100;
}
}
main()
{
long s, t;
printf(" Please enter s:");
scanf("%ld", &s);
fun(s, &t);
printf("The result is: %ld ", t);
}
参考答案:
第1处:void fun(long s, long t)应改为 void fun(long s, long *t)
第2处:s1=s1*100;应改为s1=s1*10;