宋仲基和朴宝剑合作:C语言问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/08 21:06:14
C语言问题 给定了2个数组,数组元表素都是数字组成,现对比这2个数组,求出这2个数组中相同的数字并把这些数字存放在新的一个数组中.请高手指点
回:W希洛W int k=0; int arr3[k]; 这样定义数组是错的,你的我在VC6.0上会出错,请你改一下,谢谢.
回:bsj610 你的我也试了,可以运行,很不错,但是我想让你再写一个,现要给定3个数组int a[6]={1,2,3,4,5,6};intb[4]={1,4,5,7};int c[2]={1,3};对比数组a和b,给出它们中相同的数,并把这相同的数存放在新的一个数组d中,再把数组c和d对比最后在屏幕上显示出他们相同的数. 先谢了

///////////////////////////
///////////改过了//////////
///////////////////////////
#include <iostream.h>

void main()
{
//定义数组
int arr1[5];
int arr2[5];
int k=0;
int arr3[100];

//输入数组
cout<<"arr1:";
for(int a=0;a<5;a++)
cin>>arr1[a];
cout<<"\n";
cout<<"arr2:";
for(int b=0;b<5;b++)
cin>>arr2[b];

//复制到arr3
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
if(arr1[i]==arr2[j])
arr3[k]=arr1[i];
k+=1;
}
}

//输出相同
for(int z=0;z<k;z++)
cout<<arr3[z]<<"\t";
}
//最后输出有点乱,你自己改改吧

#include<stdio.h>
#define N 6
void main()
{
int arrInt1[N],arrInt2[N],arrInt3[N];
int i,j,k=0;
printf("请输入%d数字",N);
for(i=0;i<N;i++)
scanf("%d",&arrInt1[i]);
printf("请再输入%d数字",N);
for(i=0;i<N;i++)
{
scanf("%d",&arrInt2[i]);
for(j=0;j<N;j++)
{
if(arrInt2[i]==arrInt1[j])
{
arrInt3[k++]=arrInt2[i];
}
}
}
printf("相同的数字为:\n");
for(i=0;i<k;i++)
{
printf("%4d",arrInt3[i]);
}
printf("\n");
}
这个在vc++里运行的.

太简单