相关题目
3、 给定程序modi.c中,函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
评析:
选择法排序的思路是:通过一个整型变量指向数组中最小数所在的下标,第一次循环找出最小的数,与第一个数的位置交换,第二次循环找出次小的数,与第二个数的位置交换,以此类推,直至数组中的数由小到大排列。
本题中的第一个错误:C语言中的命令语句应以分号作为分隔符,所以语句"p=j"应改为"p=j;";
本题中的第二个错误:结合程序上下文,可知当a[i]中的数小于a[p]中的数时,应使得下标i赋给变量p,所以语句"p=j;"应改为"p=i;"。
本评析仅作参考。
知识点:知识点/C程序修改
2、题目中要求找出一个大于给定整数 m 且紧随 m 的素数。
本题中的第一个错误:在函数fun()的嵌套循环的循环体中,语句"if (i % k != 0) break ;"是不正确的,结合程序上下文,程序是为了判断当前离m最近的整数是否可以为素数,如果它可以整除除了1和它自身以外其他任意一个整数,就说明它不是素数,所以应当更改为"if(i%k==0) break;";
本题中的第二个错误:函数fun()中的第二个判断语句"if (k<i)"是不正确的,应当更改为"if (i<=k)"。
本评析仅作参考。
知识点:知识点/C程序修改
1、首先,要了解素数的意思,素数是指只能被1和它自身整除的数;
2、 给定程序modi.c中,函数fun的功能是:找出一个大于给定整数m且紧随m的素数,并作为函数值返回。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
评析:
首先,我们必须先读懂题中程序的大致意思,这是发现并改正程序中错误的重要前提。
程序中的重要思想如下:
1、 给定程序modi.c中,fun函数的功能是:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之积。
请改正程序中的错误,或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
评析:
本题的考核点是C语言的基本语句的使用。
由题意可知,程序中通过sum变量累计对角线元素的积,在初始化时需先为sum赋初始值,所以应在横线处填入:"sum=1;"。
根据scanf语句的语法规则,格式控制与输入项地址表之间需用逗号分隔,所以 "scanf("%d" a[i][j]);"应改为"scanf("%d,",&a[i][j]);"或相同作用的语句。
本评析仅供参考。
知识点:知识点/C程序修改
149、比较两个字符串是否相等不能通过条件运算符"=="。
148、如果字符串常量所包含的字符个数等于数组长度,则在整体输出字符数组中的字符串时,会跟出一些不可预见的字符。
147、宏定义的作用域为从源程序开始起到源程序结束止。
146、宏定义的作用域为从宏定义命令起到源程序结束。
145、宏定义是用宏名来表示一个数,在宏代换时以该数取代宏名。
