① c語言編程將兩個一維數組中的數對應相加並在第三個數組中儲存
#include <iostream>
using namespace std;
void main()
{
int n,i;
cout<<"請輸入數組的大小:\t";
cin>>n;
int *a=new int[n];
int *b=new int[n];
int *c=new int[n];
cout<<"請輸入數組a:"<<endl;
for (i=0;i<n;i++)
cin>>a[i];
cout<<endl;
cout<<"請輸入數組b:"<<endl;
for (i=0;i<n;i++)
cin>>b[i];
cout<<"得到數組c:"<<endl;
for (i=0;i<n;i++)
c[i]=a[i]+b[i];
for (i=0;i<n;i++)
cout<<c[i];
}
② C語言怎麼連接兩個一維數組
你可以考慮用指針配合動態分配內存來做。首先確認兩個一維數組的總長度,然後下面是一個例子代碼:
int *a = malloc(n*sizeof(int));
將第一個和第二個數組順序加到a指針就好了。
③ 在線等急!!! 用c語言:給定兩個一維數組a和b,每個數組由相異個元素組 成,試將其公共元素存入數組c
/*
a 數組地址
an 數組a的長度
b 數組地址
bn 數組b的長度
*/
void Output(int *a, int *b, int an, int bn)
{
int *c = new int[an+bn];
int *d = new int[an];
int *e = new int[bn];
int cn, dn, en;
int i,j;
cn = dn = en = 0;
for(i=0; i<an; i++)
{
if(j=0; j<bn; j++)
{
if(a[i] == b[j])
{
c[cn++] = a[i];
break;
}
}
if(j == bn)
d[dn++] = a[i];
}
for(i=0; i<bn; i++)
{
for(j=0; j<cn; j++)
{
if(b[i] == c[j])
{
e[en++] = b[i];
break;
}
}
}
printf("公共元素數量:%d\n",cn);
for(i=0; i<cn; i++)
{
printf("%d\n", c[i]);
}
printf("a特有元素數量:%d\n",dn);
for(i=0; i<dn; i++)
{
printf("%d\n", d[i]);
}
printf("b特有元素數量:%d\n",en);
for(i=0; i<en; i++)
{
printf("%d\n", e[i]);
}
delete [] c;
delete [] d;
delete [] e;
}
④ C語言中實現兩個一維數組間元素的交換
#include<stdio.h>
#define N 5
void main()
{
int a[N],b[N],c;
int i;
printf("請輸入a數組元素:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("請輸入b數組元素:\n");
for(i=0;i<N;i++)
scanf("%d",&b[i]);
printf("交換後的數組元素為:\n");
for(i=0;i<N;i++)
{
c=a[i];
a[i]=b[i];
b[i]=c;
}
for(i=0;i<N;i++)
printf("%3d",a[i]);
printf("\n");
for(i=0;i<N;i++)
printf("%3d",b[i]);
printf("\n");
}
//不懂得可以繼續問
⑤ C語言兩個一維數組排序比較
有區別,第一個程序中被比較的數是固定的,即min,運行時k=0,即min=22,那麼從i=0,到i=4,運行後的數列第1個數會是9。第二個程序是一個排序,被比較的數是變動的,即數列第k個數在比較完以後,第k+1個以後的數都比第k個數大,當k=0時,運行後數列第一個數是2。
⑥ C語言 兩個任意長度一維數組的加法
#include<stdio.h>
#include<string.h>
char s[100001];
int a[100001],b[100001],c[100001];
int main(){
long i,j,k,m,n;
long alen,blen,clen;
gets(s);
alen=strlen(s);
for(i=alen-1;i>=0;i--)
a[alen-i]=s[i]-'0';
gets(s);
blen=strlen(s);
for(i=blen-1;i>=0;i--)
b[blen-i]=s[i]-'0';
if(alen>blen)
clen=alen;
else
clen=blen;
for(i=1;i<=clen;i++)
c[i]=a[i]+b[i];
for(i=1;i<=clen;i++)
if(c[i]>9){
c[i+1]++;
c[i]-=10;
if(i==clen)
clen++;
}
for(i=clen;i>=1;i--)
printf("%d",c[i]);
printf("\n");
return 0;
}
⑦ c語言兩個一維數組輸出排序並合並
簡單代碼如下:
說明:之所以把merge函數定義成返回數組長度,是因為後續會有重復數據合並功能的merge版本,考慮到介面一致性。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intmerge(int*ar1,intlen1,int*ar2,intlen2,int**rtn)
/*++
DeScription:
,
.
Arguments:
ar1-Thefirstsortedarraytobemerged
len1-Thenumofitemsinar1
ar2-
len2-Thenumofitemsinar2
rtn-,
.
ReturnValue:
Thenumofitemsinthemergearray
--*/
{
inti=0,j=0,k=0;
intm=0;
int*res=NULL;
if(ar1==NULL||ar2==NULL||rtn==NULL){
return0;
}
*rtn=(int*)malloc((len1+len2)*sizeof(int));
if(*rtn==NULL){
return0;
}
memset(*rtn,0,(len1+len2)*sizeof(int));
res=(int*)*rtn;
while(i<len1&&j<len2){
if(ar1[i]<=ar2[j]){
res[k++]=ar1[i++];
}else{
res[k++]=ar2[j++];
}
}
while(i<len1){
res[k++]=ar1[i++];
}
while(j<len2){
res[k++]=ar2[j++];
}
returnlen1+len2;
}
intmerge_test()
{
inta1[]={0,1,2,5,8,19,34,43,52};
inta2[]={1,4,5,12,17,33,42,51,53,65,76};
intlen1=sizeof(a1)/sizeof(int);
intlen2=sizeof(a2)/sizeof(int);
inti=0,len=0;
int*a3=NULL;
int*ptr=NULL;
len=merge(a1,len1,a2,len2,&a3);
if(a3==NULL){
printf("a3==NULL ");
return1;
}
ptr=a3;
while(i<len){
printf("a3[%3d]---->%8d ",i++,*ptr++);
}
if(a3!=NULL){
free(a3);
}
return0;
}
intmain(intargc,char*argv[])
{
merge_test();
return0;
}
⑧ c語言編程將兩個一維數組中的數對應相加並在第三個數組中儲存
建立兩個數組,分別存放多項式的系數,如x3就可以在數組data【3】中存放1就可以了,對應項相加,就可以了
⑨ C語言編寫一個函數將兩個一維數組對應元素相乘
兩個一維數組的長度必須相同,否則無法相乘。
思路為,循環遍歷數組,並將對應元素相乘,結果存到第三個數組中。
以整型為例,示例代碼如下:
void array_multi(int *a, int *b, int *r, int len)//將長度為len的數組a,b對應元素相乘,結果存於r中。
{
int i;
for(i = 0; i < len; i ++)//遍歷數組。
r[i] = a[i]*b[i];//對應元素相乘,並存於r中。
}