當前位置:首頁 » 編程語言 » c語言2個數組找出不同
擴展閱讀
母硬碟 2022-08-20 03:35:54

c語言2個數組找出不同

發布時間: 2022-07-07 21:55:34

㈠ C語言 關於兩個數組求相同或不同元素的問題!

question 2: input: arr1[10],arr2[10].
output: arr_out[20].
arr1[10] to arr_out[20]
then for(i=0,k=10,i<=9,i++)
for(j=0,j<=9,j++)
{ if (arr2[i]==arr_out[j])// find one element in two array
{arr_out[j]=NULL;
break;
}
if (j==10) //the element only in one array
{
arr_out[k]=arr2[i];
k++;
}
}
for(i=0,i<k,i++)
if (arr_out[i]!=NULL)
printf("%c",arr_out[i]);

㈡ C語言 比較兩個大小不同的二維數組。返回配對成功的位置

兩種方法:
1.轉化為一維數組申請
2.先申請全部行首指針,再按行逐行申請

1.
a=(int *)malloc(sizeof(int),(unsigned)m*n);
使用的時候就和一般的二維數組一樣。
舉個例子給你:
#include "stdlib.h"
#include "stdio.h"
#include <malloc.h>

int main()
{
int i,j;
int n;//這個就是需要指定的行數
int (*p)[10];

scanf("%d",&n);//取得行數

//動態生成二維數組,指定列數為10,如果想改,自己該裡面
的參數,如果想定義n行2列就為: p=(int (*)[2])malloc(n*2*sizeof(int));
p=(int (*)[10])malloc(n*10*sizeof(int)); //動態申請n行10列的二維數組

for(i=0;i<n;i++)
for(j=0;j<10;j++)
p[i][j]=i*j;

for(i=0;i<n;i++)
{
for(j=0;j<10;j++)
printf("%d,",p[i][j]);

printf("\n");
}
free(p);

return 0;
}

2.
這個也給你舉個例子吧:
#include <stdio.h>
#include <malloc.h>
main()
{
int i = 0;
int j = 0;
int line = 0;
int row = 0;
int **p = NULL;

㈢ C語言中判斷兩個數組內容是否相同!

C語言有個函數

memcmp是用來進行內存比較的

extern

int

memcmp(void

*buf1,

void

*buf2,

unsigned

int

count);

if(0==memcmp(ID,ID1,20))

//ID1等於ID2

{

}

先要明確運算符按優先順序不同分類,《C程序設計》運算符可分為15種優先順序,從高到低,優先順序為1 ~ 15,除第2.13級和第14級為從右至左結合外,其它都是從左至右結合,它決定同級運算符的運算順序。

產生來源

在C語言中, 數組屬於構造數據類型。一個數組可以分解為多個數組元素,這些數組元素可以是基本數據類型或是構造類型。因此按數組元素的類型不同,數組又可分為數值數組、字元數組、指針數組、結構數組等各種類別。

關於可變長數組(VLA)的問題:原來的C89標准中是不允許可變長數組出現的,但是在C99標准中,加入了對VLA的支持,但是支持的編譯器不多,而且由於棧溢出的安全問題,沒有太多的人敢用這個可變長數組,所以在C11標准中又把它規定為可選實現的功能了。

以上內容參考:網路-數組

㈣ 求:C語言中比較兩個數組的內容是否相同

如下圖所示:

㈤ C語言中怎麼比較2個數組相同與否

數組類型一樣的話,再比較數組大小,最後比較每個位置的數組元素

㈥ C語言。找出不是兩個數組共有的元素。

給定兩個整型數組,本題要求找出不是兩者共有的元素。

輸入格式:

輸入分別在2行中給出2個整型數組,每行先給出正整數N(<=20),隨後是N個整數,其間以空格分隔。

輸出格式:

在一行中按照數字給出的順序輸出不是兩數組共有的元素,數字間以空格分隔,但行末不得有多餘的空格。題目保證至少存在一個這樣的數字。同一數字不重復輸出。

輸入樣例:10 3 -5 2 8 0 3 5 -15 9 100
11 6 4 8 2 6 -5 9 0 100 8 1
輸出樣例:3 5 -15 6 4 1

我的想法是先拿A數組去跟B數組比一遍,然後再反過來比一遍,把不是共有的數放到C數組中,最後消去數組C中相同的數輸出,這樣輸出的就不會存在同一個數了