C语言程序改错:删除数组中指定元素
/*------------------------------------------------------- 【程序改错】
题目:假定整数数列中的数不重复,并存放在数组中。下列给定程序中函数fun的功 能是:删除数列中值为x的元素。变量n中存放数列中元素的个数。
-------------------------------------------------------*/ #include <stdio.h>
#define N 20
int fun(int *a,int n,int x) { int p=0,i; a[n]=x; while ( x != a[p] ) p = p + 1; /FOUND/ if (p == n) return -1; else { for(i = p; i < n - 1; i++) /FOUND/ a[i] = a[i+1]; 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 : '); for (i = 0; i < n; i++) printf('%5d',w[i]); printf(' Input x (to delete): '); scanf('%d',&x); printf('Delete : %d ',x); n = fun(w, n, x); if ( n == -1 ) printf('Not be found!
'); else { printf('The data after deleted: '); for (i = 0; i < n; i++) printf('%5d',w[i]); printf('
'); } }
原文地址: https://www.cveoy.top/t/topic/pbmF 著作权归作者所有。请勿转载和采集!