當前位置:首頁 » 編程語言 » 數組配對c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

數組配對c語言

發布時間: 2022-07-11 00:06:03

c語言程序設計中如何將一個整型數組與一個字元串數組一一對應

比如說有
#include<stdio.h>
int main() {
int a[3];
char b[3][20]={"abc","def","ghi"};
a[0]=0;a[1]=1;
printf("%s\n",b[a[0]]);//輸出abc
printf("%s\n",b[a[1]]);//輸出def
}

❷ C語言中怎麼把一維數組賦給另外一個一維數組

不可以,之所以不可以是因為數組名是個常量,它的值是數組首元素地址,即不能將其它值付給這個常量。

可以採用循環的方法逐個復制,或者採用另一個同類型的指針(相對於數組名,指針是變數)指向要復制的數組,之後就可以採用這個指針訪問之前的那個數組。

(2)數組配對c語言擴展閱讀:

當數組中每個元素都只帶有一個下標時,稱這樣的數組為一維數組。

一維數組是由數字組成的以單純的排序結構排列的結構單一的數組。一維數組是計算機程序中最基本的數組。二維及多維數組可以看作是一維數組的多次疊加產生的。數組是計算機編程中的重要概念,運用數組可以方便地處理大規模的數據。

❸ C語言中怎麼使用雙射匹配,就是一個數組中的數據和數據按順序匹配另一個數組中的

你的問題是什麼 是要問怎麼實現雙射匹配 還是問雙射匹配使用方法

❹ C語言一維數組匹配

在描述一下演算法,不難,自己看看就明白了。
#include <stdio.h>

int main(int argc, char *argv[])
{
int i, j;
int count;
int a[10] = ;/*自己初始化*/
int b[60] = ;/*自己初始化*/
for(i = 0; i < 10; i++) /*用於遍歷a*/
{
for(j = 0; j < 60; j++)/*用於遍歷b*/
{
if(a[i] == a[j])/*判斷a[i]是否在b[0-59]中*/
{
count++;/*統計相同個數*/
break;
}
}
if(j == 60)/*如果j循環執行到了j == 60,說明沒找到*/
{
printf("a[%d]不在b中", i); /*列印出a[幾]不在b中*/
}
}
if(i == 10)/*如果i循環執行到了i == 10,說明全部都找到*/
printf("a屬於b");
else printf("%d個相同", count);
return 0;
}

❺ c語言,連接2個數組的方法

連接兩個數組有點問題,for(x=0;x<6;x++) 數組長度怎麼確定array.length 不能用6來表示
可以寫個方法,將兩數組合並成一個數組
也可以用API函數 memory

❻ 怎麼用c語言將兩個數組並起來

看代碼,寫了幾種數組的合並:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
voidcharacter()
{
charc1[]={'H','e','l','l','o'};
charc2[]={'','w','o','r','l','d','!'};
intk=0;
charnew_c[100];
for(inti=0;i<sizeof(c1);i++)//注意是sizeof()
new_c[k++]=c1[i];
for(i=0;i<sizeof(c2);i++)
new_c[k++]=c2[i];
new_c[k]='';
puts(new_c);

}
voidstring()
{
chars1[]={"hello,"};
chars2[]={"c語言!"};
intk=0;
charnew_s[100];
for(inti=0;i<strlen(s1);i++)//注意是strlen()
new_s[k++]=s1[i];
for(i=0;i<strlen(s2);i++)
new_s[k++]=s2[i];
new_s[k]='';
puts(new_s);
}
voidnumber()
{
intnum1[]={1,2,3},*p1=num1;
intnum2[]={4,5,6,''};//整型數組,字元數組是沒有結束符號,自己加入『』
intnew_num[100];
intk=0;
for(inti=0;i<sizeof(num1)/sizeof(int);i++)
{
new_num[k++]=*(p1++);
}
for(i=0;num2[i]!=0;i++)
{
new_num[k++]=num2[i];
}
new_num[k]='';
for(i=0;new_num[i]!=0;i++)
{
printf("%d",new_num[i]);
}
puts("");

}
voidmain()
{
character();//字元數組的合並
string();//字元串的合並
number();//整型數組的合並,做法是一樣的

}

運行截圖:

❼ 怎麼用c語言實現同維數組相連呢

可以參考strcat的實現

char * strcat (
char * dst,
const char * src
)
{
char * cp = dst;

while( *cp )
cp++; /* find end of dst */

while( *cp++ = *src++ ) ; /* Copy src to end of dst */

return( dst ); /* return dst */

}

❽ C語言怎麼連接兩個一維數組

你可以考慮用指針配合動態分配內存來做。首先確認兩個一維數組的總長度,然後下面是一個例子代碼:
int *a = malloc(n*sizeof(int));
將第一個和第二個數組順序加到a指針就好了。

❾ 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;