2. 改錯(cuò)題
在主函數(shù)中從鍵盤輸入若干個(gè)數(shù)放入數(shù)組中,用0結(jié)束輸入并放在最后一個(gè)元素中。下列給定程序中,函數(shù)fun()的功能是計(jì)算數(shù)組元素中值為負(fù)數(shù)的平均值(不包括0)。
例如:數(shù)組中元素的值依次為43,-47,-21,53,-8,12,0,則程序的運(yùn)行結(jié)果為-25.333333。
請改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include
#include
double fun(int x[ ])
{
double sum=0.0;
int c=0, i=0;
/**********************found***********************/
while(x[i]==0)
{
if(x[i]<0)
{
sum=sum+x[i];
c++;
}
i++;
}
/**********************found***********************/
sum=sum\c;
return sum;
}
main()
{
int x[1000];
int i=0;
clrscr();
printf("\nPlease enter some data(end with 0) :");
do
{
scanf("%d",&x[i]);
}while(x[i++]!=0);
printf("%f\n",fun(x));
}
答案及評析:
(1)錯(cuò)誤:while(x[i]==0)
正確:while(x[i]!=0)
(2)錯(cuò)誤:sum=sum\c;
正確:sum=sum/c;
【解析】錯(cuò)誤1:此處考查的是對循環(huán)條件的理解,當(dāng)被判斷的數(shù)組元素為0時(shí),說明這是數(shù)組的最后一個(gè)元素,此時(shí)要跳出循環(huán)。
錯(cuò)誤2:C語言中的除法運(yùn)算符是"/",而不是"\"。
相關(guān)鏈接:2011計(jì)算機(jī)等級二級C語言模擬試題及答案匯總
計(jì)算機(jī)等級考試二級C語言歷年真題匯總(2005-2010)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |