作业帮 > 综合 > 作业

C语言中如何给数组增加一行元素

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 07:02:33
C语言中如何给数组增加一行元素
如A{1,2},B{3,4}把B加入A,得A{{1,2},{3,4}},又有C{5,6}加入A,则A{{1,2},{3,4},{5,6}}
#include "stdio.h"
int main(int argc, char** argv) {
    int a[3][2] = {{1,2}};
    int b[2] = {3,4};
    int c[2] = {5,6};
    int i, j = 0;
    //赋值
    for (i = 0; i < 3; ++i) {
        if (1 == i) {  //B赋值到A
            for (j = 0; j < 2; ++j) {
                a[i][j] = b[j];
            }
        } else if (2 == i) {  //C赋值到A
            for (j = 0; j < 2; ++j) {
                a[i][j] = c[j];
            }
        }
    }
    //输出
    for (i = 0; i < 3; ++i) {
        printf("\na[%d] :", i);
        for (j = 0; j < 2; ++j) {
            printf("a[i][j] = %d;", a[i][j]);
        } 
    }
    printf("\n");
    return 0;
}
再问: 请问!要判断两数组相等怎么判断?如a{1,2,3,4}b{{1,2,3,4},{1,5,6,7}},判断a与b的那一行相等,并输出行的位置
再答: #include "stdio.h"
#define M 4

int matchIndex(int preArray[], const int N, int array[][M]);

int main(int argc, char** argv) {

int a[] = {1, 2, 3 ,4};
int b[][M] = {{1, 5, 6, 7}, {1, 2, 3, 4}};

int ref = matchIndex(a, 2, b);

printf("Match result is : %d\n", ref);

return 0;
}

//返回第一个匹配的列
int matchIndex(int preArray[], const int N, int array[][M])
{
int i,j = 0;

for (i = 0; i < N; ++ i) {
char isMatch = 1; //用来判断是否符合
for (j = 0; j < M; ++ j) {
if (array[i][j] != preArray[j]) {
isMatch = 0;
break;
}
}
if (isMatch) {
return i;
}
}
return -1;
}