第 1 页:选择题 |
第 5 页:程序填空题 |
第 6 页:程序改错题 |
第 7 页:程序设计题 |
三、程序改错题
42给定程序中,函数proc()的功能是:使数组中的元素的值缩小5倍。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include
#include
float m[10];
f f****found****
int proc(void)
{
int J;
printf(”In subfunc after calling\n”);
for(j=0;j<10;j++)
{
|f****found****
printf(”%f”,m[j]%5);
}
}
void main()
{
int i;
printf(”In main before calling\n”);
for(i=0;i<10;i++)
{
m[i]=i+20:
printf(”%f”,m[i]);
}
proc();
printf(”\nIn main after calling\n”):
for(i=0;i<10;i++)
printf(”%f”,m[i]/S):
参考解析:
(1)错误:intproc(void)正确:voidproc(void)
(2)错误:printf(”%f”,m[j]%5);正确:printf(”%f”,m[j]/5);
【解析】由主函数中的函数调用可知,函数proc()没有返回值。因此,“intproc(void)”应改为“voidproc(void)”。题目中要求使数组中元素的值缩小到l/5,而不是对5取余。因此,“printf(”%f”,m[j]%5);”应改为“printf(”%f”,m[j]/5);”。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |