假定整數(shù)數(shù)列中的數(shù)不重復(fù),并存放在數(shù)組中。給定程序MODI1.C中函數(shù)fun的功能是:刪除數(shù)列中值為x的元素。n中存放的是數(shù)列中元素的個(gè)數(shù)。
請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
給定源程序:
#include
#define N 20
fun(int *a,int n,int x)
{ int p=0,i;
a[n]=x;
while( x!=a[p] )
p=p+1;
/
if(P==n) return -1;
else
{ for(i=p;i / a[i+1]=a[i]; return n-1; } } main() { int w[N]={-3,0,1,5,7,99,10,15,30,90},x,n,i; n=10; printf("The original data :\n"); for(i=0;i printf("\nInput x (to delete): "); scanf("%d",&x); printf("Delete : %d\n",x); n=fun(w,n,x); if ( n==-1 ) printf("***Not be found!***\n\n"); else { printf("The data after deleted:\n"); for(i=0;i } } 解題思路: 第一處: 條件語句中的小寫p錯(cuò)寫成大寫P了。 第二處: 刪除元素,應(yīng)該是后面位置的元素值賦值給前面的位置上,所以應(yīng)改為: a[i]=a[i+1];。 *************************************************** 相關(guān)推薦: 2014計(jì)算機(jī)二級(jí)C語言知識(shí)點(diǎn)復(fù)習(xí)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |