① 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中。
}