鱼C论坛

 找回密码
 立即注册
查看: 4959|回复: 12

急求编写一个关于指针的C程序

[复制链接]
发表于 2013-5-28 23:01:15 | 显示全部楼层 |阅读模式
10鱼币
用一维数组表示集合(其元素互不相同),求两个集合的交集。以一维整型数组为例编写函数
函数原型:int intersection ( int array1[], int len1, int array2[], int len2,int restult[]);

最佳答案

查看完整内容

整个代码如下,运行环境是vs2005结果如下图
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-28 23:01:16 | 显示全部楼层
整个代码如下,运行环境是vs2005
  1. #include "stdafx.h"
  2. #include <stdio.h>

  3. int intersection ( int array1[], int len1, int array2[], int len2,int restult[])
  4. {
  5.         //函数的思想就是,让array1中的每一个元素 分别与array2中的所有元素对比,相同的就放入数组reatult[]中
  6.         //既然你给的函数原型带个返回值,估计应该是返回的交集的个数
  7.         int i = 0;
  8.         int j = 0;
  9.         int k = 0;

  10.         for (i = 0; i < len1; i++)
  11.         {
  12.                 for (j = 0; j < len2; j++)
  13.                 {
  14.                         if (array1[i] == array2[j])
  15.                         {
  16.                                 restult[k] = array1[i];
  17.                                 k++;
  18.                         }
  19.                 }
  20.         }

  21.         return k;
  22. }


  23. int _tmain(int argc, _TCHAR* argv[])
  24. {
  25.         int array1[3] = {100,10,98};
  26.         int array2[10] = {100,2,3,4,5,6,7,8,9,10};
  27.         int result[10] = {0};

  28.         int nCount = intersection(array1,3,array2,10,result);

  29.         printf("有%d个交集,分别是:",nCount);
  30.         int i = 0;
  31.         for (i = 0; i < nCount; i++)
  32.         {
  33.                 printf("%d ",result[i]);
  34.         }
  35.         printf("\n");
  36.         system("pause");
  37.         return 0;
  38. }
复制代码
结果如下图
22222222222.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-28 23:28:51 | 显示全部楼层
按照要求写了一个函数如下,运行正常
  1. int intersection ( int array1[], int len1, int array2[], int len2,int restult[])
  2. {
  3.         //函数的思想就是,让array1中的每一个元素 分别与array2中的所有元素对比,相同的就放入数组reatult[]中
  4.         //既然你给的函数原型带个返回值,估计应该是返回的交集的个数
  5.         int i = 0;
  6.         int j = 0;
  7.         int k = 0;

  8.         for (i = 0; i < len1; i++)
  9.         {
  10.                 for (j = 0; j < len2; j++)
  11.                 {
  12.                         if (array1[i] == array2[j])
  13.                         {
  14.                                 restult[k] = array1[i];
  15.                                 k++;
  16.                         }
  17.                 }
  18.         }

  19.         return k;
  20. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-29 13:42:13 | 显示全部楼层
我只是路过打酱油的。向你学习:lol
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-29 19:13:00 | 显示全部楼层
强烈支持楼主ing……
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-29 21:31:53 | 显示全部楼层
无回帖,不论坛,这才是人道。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-29 23:15:31 | 显示全部楼层
学习学习。。。。。。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-30 02:01:21 | 显示全部楼层
我会做。呵呵。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-6-3 17:59:50 | 显示全部楼层
路过。。。打酱油
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-6-3 18:00:57 | 显示全部楼层
路过。。。打酱油
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-6-5 04:29:05 | 显示全部楼层
打酱油的路过了  楼主你会原谅我么  最后一顶了  我就要升级了  好激动
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-6-5 12:38:34 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-6-5 12:40:52 | 显示全部楼层
丝连 发表于 2013-6-5 12:38
我也想快点升级

我强烈支持。。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-27 16:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表