一个简单的数组问题不明白?
c吧
全部回复
仅看楼主
level 1
51171618 楼主
void delete(intA[],int n,inty){ int i,j; for(i=0;i<=n;i++) if(y==A[i]) { for(j=i;j<=n;j++) { A[j]=A[j+1]; } } }main(){ int y,A[10],i,n; printf("\n input num:"); for(i=0;i<5;i++) { printf("\n num %d:",i); scanf("%d",&A[i]); } n=i; for(i=0;i
2007年11月04日 10点11分 1
level 0
你不觉得你这程序有问题吗? 函数里的数组大小是不是变大了?要改的话应该void delete(intA[],int *n,int y) { int i,j,flag=0; for(i=0;i
2007年11月04日 12点11分 2
level 0
在上面的子函数里加上一个条件啥!!!!
2007年11月17日 11点11分 3
level 1
继续支持没话说~ 楼主真强
2007年11月17日 12点11分 4
level 1
3点注意:1. delete是个关键字,也就是系统保留字,子函数使用别的标识符.2. 如果有匹配数并删除数组中的元素,那么n必须-1,否则最后一个输出为脏值.3. 输出注意控制格式,for循环连续输出数组值,后面加\t分隔.不然数都凑一起,看不清楚。修改程序如下:#include
int del(int A[],int n,int y) { int i,j; for(i=0;i<=n;i++) { if(y==A[i]) { for(j=i;j<=n;j++) A[j]=A[j+1]; return 1; } }return 0;} void main() { int y,A[10],i,n; printf("input num: \n"); for(i=0;i<5;i++) {printf("num %d:",i); scanf("%d",&A[i]); } n=i; for(i=0;i
2007年11月20日 14点11分 5
level 0
楼上的还是显的比较专业呵呵!
2007年11月24日 10点11分 6
1