機(jī)考如何避免范圍性錯(cuò)誤
小編:參加上機(jī)考試的朋友最忌諱犯的錯(cuò)誤就是粗心,有時(shí)明明會做的題,卻因?yàn)橐粋€(gè)小小的符號錯(cuò)誤導(dǎo)致全盤皆輸。下面這位朋友在做上機(jī)練習(xí)時(shí),發(fā)現(xiàn)自己所編程序的運(yùn)行結(jié)結(jié)果正確無誤,但評分系統(tǒng)沒有給分,這是為什么呢?下面讓她來告訴我們其中的原委。
在上機(jī)操作時(shí),要多注意循環(huán)的范圍。這種錯(cuò)誤往往只有一個(gè)符號之差,用run運(yùn)行時(shí)并不報(bào)錯(cuò),在你輸入數(shù)據(jù)后查看結(jié)果時(shí),可能結(jié)果顯示也正確,但卻不一定能得分。我在復(fù)習(xí)過程中,做上機(jī)模擬時(shí)遇到了這種情況:運(yùn)行結(jié)果正確,評分時(shí)卻是0分。下面這道題并不難,卻讓我頗費(fèi)周折,大家不妨看看,也好引以為戒。
“請編寫一個(gè)函數(shù)void fun(int x,int pp[ ],intn)。它的功能是:求出能整除x且不是偶數(shù)的各整數(shù),并放在數(shù)組pp[ ]中,這些除數(shù)的個(gè)數(shù)由n返回。運(yùn)行時(shí)輸入x的值為30?!?BR> (注意:部分源程序在文件prog.c中。請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。)
我是這樣編寫的:
void fun(int x,int pp[ ],int n)
{
int i, j=0,point;
point=pp;
for(i=1,i
if((x%i= =0)&&&&(i%2!=0))
{ point=i;
point++;
j++; }
point=NULL;
n=j;
}
按F9未顯示異常,按ctrl +F9后輸入“30”,結(jié)果是:“1 3 5 15”。再次驗(yàn)證輸入40,結(jié)果是:“1 5”。多次驗(yàn)證(用20、50或其他偶數(shù))結(jié)果都正確,可就是評分系統(tǒng)卻不給分。我開始懷疑評分系統(tǒng)是不是做得太死板了,或有錯(cuò)誤。
小編:參加上機(jī)考試的朋友最忌諱犯的錯(cuò)誤就是粗心,有時(shí)明明會做的題,卻因?yàn)橐粋€(gè)小小的符號錯(cuò)誤導(dǎo)致全盤皆輸。下面這位朋友在做上機(jī)練習(xí)時(shí),發(fā)現(xiàn)自己所編程序的運(yùn)行結(jié)結(jié)果正確無誤,但評分系統(tǒng)沒有給分,這是為什么呢?下面讓她來告訴我們其中的原委。
在上機(jī)操作時(shí),要多注意循環(huán)的范圍。這種錯(cuò)誤往往只有一個(gè)符號之差,用run運(yùn)行時(shí)并不報(bào)錯(cuò),在你輸入數(shù)據(jù)后查看結(jié)果時(shí),可能結(jié)果顯示也正確,但卻不一定能得分。我在復(fù)習(xí)過程中,做上機(jī)模擬時(shí)遇到了這種情況:運(yùn)行結(jié)果正確,評分時(shí)卻是0分。下面這道題并不難,卻讓我頗費(fèi)周折,大家不妨看看,也好引以為戒。
“請編寫一個(gè)函數(shù)void fun(int x,int pp[ ],intn)。它的功能是:求出能整除x且不是偶數(shù)的各整數(shù),并放在數(shù)組pp[ ]中,這些除數(shù)的個(gè)數(shù)由n返回。運(yùn)行時(shí)輸入x的值為30?!?BR> (注意:部分源程序在文件prog.c中。請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。)
我是這樣編寫的:
void fun(int x,int pp[ ],int n)
{
int i, j=0,point;
point=pp;
for(i=1,i
if((x%i= =0)&&&&(i%2!=0))
{ point=i;
point++;
j++; }
point=NULL;
n=j;
}
按F9未顯示異常,按ctrl +F9后輸入“30”,結(jié)果是:“1 3 5 15”。再次驗(yàn)證輸入40,結(jié)果是:“1 5”。多次驗(yàn)證(用20、50或其他偶數(shù))結(jié)果都正確,可就是評分系統(tǒng)卻不給分。我開始懷疑評分系統(tǒng)是不是做得太死板了,或有錯(cuò)誤。