创建a,b两个数组,元素个数由用户分别输入,元素的值由随机数生成,最大值不超过20。

创建a,b两个数组,元素个数由用户分别输入,元素的值由随机数生成,最大值不超过20。
功能:
1. 输出a,b数组的各元素值;
2. 找出在数组a中第一个出现的、与b中含有的值相同的元素位置,并输出这个值。
/****************************************************************************/
/*用随机数放入两个数组中,并找出a数组中与第二个数组的相等的第一个数的位置与值*/
/*           作者:Darges                                                   */
/****************************************************************************/

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

void main()
{
   int colom1,colom2;
   int i,j;
   int *p1,*p2;
   p1=NULL;
   p2=NULL;
   printf("请输入数组1、2的个数:");
   scanf("%d%d",&colom1,&colom2);
   p1=(int *)calloc(1,sizeof(int)*colom1);
   p2=(int *)calloc(1,sizeof(int)*colom2);
   
   srand((unsigned)time(NULL));   //产生随机数
   for(i=0;i<colom1;i++)
   {
      p1[i]=rand()%20;
	  printf(" %-2d",p1[i]);
   }
   printf("\n");
   for(i=0;i<colom2;i++)
   {
      p2[i]=rand()%20;
	  printf(" %-2d",p2[i]);
   }
   printf("\n");
 
   //if(colom1<colom2)
   //{
      for(i=0;i<colom1;i++)
	  {
	     for(j=0;j<colom2;j++)
		 {
		    if(*(p1+i)==*(p2+j))
			{
			   printf("相同的数:%d,在第一个数组的%d,在第二个数组的%d\n",*(p1+i),i+1,j+1);
			   exit(0);
			}
		 }
	  }
   //}
   /*else
   {
      for(i=0;i<colom2;i++)
	  {
	     for(j=0;j<colom1;j++)
		 {
		    if(*(p2+i)==*(p1+j))
			{
			   printf("相同的数:%d,在第一个数组的%d,在第二个数组的%d\n",*(p1+j),j+1,i+1);
			   exit(0);
			}
		 }
	  }
   }*/
   printf("没找到相同的数!\n");
   free(p1);                        //记得释放内存
   free(p2);
}
由于是用户输入数组的大小,所以必须使用动态数组,即malloc或calloc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值