用C语言删除数组的某一行,形成一个新的数组

已知一个二维数组,要求删除某一行所有元素,得到一个新的数组。求完整程序

是不是这样的:
#include<stdio.h>
#define N 3
//将数组s的第n行(从0数起)元素删除,结果保存于数组d,r为数组s的行数
void deleteRow(int d[][N], int s[][N], int r, int n){
int i,j;
if(n>=r){
printf("Error.");
return;
}
for(i=0; i<r-1; i++)
for(j=0; j<N; j++)
if(i<n)
d[i][j]=s[i][j];
else
d[i][j]=s[i+1][j];
return;
}

int main()
{
int a[4][N]={1,2,3,4,5,6,7,8,9,10,11,12}, b[3][N];
int i,j;
deleteRow(b,a,4,2);
for(i=0; i<3; i++){
for(j=0; j<N; j++)
printf("%d\t",b[i][j]);
printf("\n");
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-03
你这个一行是是什么意思?追问

就是一行元素啊,二维数组嘛

相似回答