| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 795 人关注过本帖
标题:一个小问题求大师们帮个忙呀!!!
只看楼主 加入收藏
zhaokk
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2009-11-6
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:11 
一个小问题求大师们帮个忙呀!!!

   a[6],b[3]数组 求a组减去b组中元素的 剩余的元素集合
我想的是这样的  但是结果不对,想不出来呀。。。到此求助
     #include<stdio.h>
int main(void){
    int size=6;
    int size1=3;
    int a[6]={0};
    int b[4]={0};
    int i=0;
    int j=0;
    int c=0;
    int k=0;

    for(i=0;i<size;i++){
        printf("intput a[%d]\n",i);
        scanf("%d",&a[i]);}
    for(j=0;j<size1;j++){
        printf("input b[%d]\n",j);
        scanf("%d",&b[j]);}
    for(i=0;i<size1;i++){
       for(j=0;j<size;++j){
            if(b[i]==a[j]){
             c+=1;
             continue;}
         
         }
 
       for(k=0;k<size-c;k++){
          for(j=0;j<size;++j){
              if(b[i]==a[j])
               continue;
           else
               a[k]=a[j];
               
               break;
               
         }
         j++;
       }
          size=size-c;
         
    }

     printf("c[]:\n");
      //for(k=0;k<size;k++)
       printf("c[%d]=%d\n",k,a[k]);
}

     我错在那里呢!!
搜索更多相关主题的帖子: 大师 
2009-11-09 14:17
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:20 
#include<stdio.h>
 #define size 6
 #define size1 3
int main(void)
{
    int a[size],b[size1],c[size];
    int k,i,j,t,m=size,n=size1;
    for(i=0;i<size;i++)
    {
        printf("intput a[%d]\n",i);
        scanf("%d",&a[i]);
    }
    for(j=0;j<size1;j++)
        {
        printf("input b[%d]\n",j);
        scanf("%d",&b[j]);
        }
    for(i=0;i<m;i++)
        for(j=0;j<n;j++)
            if(a[i]==b[j])
            {
                for(k=j;k<n-1;k++)
                       b[k]=b[k+1];
               
                for(t=i;t<m-1;t++)
                     a[t]=a[t+1];
          n--;   
          m--;
          i--;
          j--;
               }
     for(j=0;j<m;j++)
    printf("c[%d]=%d\n",j,a[j]);
    getch();
}
2009-11-09 19:15
李若斌
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:219
专家分:184
注 册:2009-9-30
收藏
得分:0 
回复 2楼 m456m654
版主 题目的意思是不是用a数组中的每一个元素分别去减b数组的每一个元素?然后再把差放入一个新的数组中?
还是说是用a数组中的元素去减对应的b数组中的元素,比如a[]={10,20,30,40,50};b={1,2,3,};那就是用10-1,20-2,30-3。这样吗?
2009-11-09 20:02
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
回复 3楼 李若斌
呵呵,我觉得楼主的意思应该是用数组a中的元素减去在数组b中出现的元素。打个比方,a和b是两个结合,那么求的应该是a-a交b。
2009-11-09 20:24
zhaokk
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2009-11-6
收藏
得分:0 
回复 3楼 李若斌
不是!如a[6]={1,2,3,4,5,6} b[3]={1,3,5} 结果要为 2,4,6 的集合
2009-11-09 20:35
李若斌
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:219
专家分:184
注 册:2009-9-30
收藏
得分:0 
回复 5楼 zhaokk
哦, 就是把B数组中出现的元素从A数组中剔除掉是吧。我直接也尝试做一下,呵呵 谢谢两位的解答
2009-11-09 20:40
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:0 
程序代码:
#include <stdio.h>
#define N 6
#define M 3
main ()
{
    int a[N], b[M], c[N - M] = {0};
    int i,j,count,k;
    puts ("输入数组a的值:\n");
    for (i = 0; i < N; i ++)
    scanf ("%d",&a[i]);
    puts ("输入数组b的值:\n");
    for (i = 0; i < M; i ++)
    scanf ("%d",&b[i]);
    i = k =0;
    while (i < N)
    {
        count = 0;
       for(j = 0; j < M; j ++)/* 遍历数组b */
         {
            if (a[i] != b[j])
                 ++ count;
            }
        if (count == (N - M))
            c[k ++] = a[i];
             ++ i;
        }
        for (k = 0; k < (N - M); k ++)
        printf ("%d\t",c[k]);
        getch ();
        return 0;
        }

想象力征服世界
2009-11-09 20:47
zhaokk
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2009-11-6
收藏
得分:0 
回复 4楼 m456m654
恩 对啊!!就是这个意思
   请你帮我弄弄!
2009-11-09 20:51
zhaokk
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2009-11-6
收藏
得分:0 
回复 3楼 李若斌
在你给的 程序里只能做到 不重复的 a-a交b
但是不做到如下
 a[6]={1,2,2,3,4,5}
 b[3]={1,2,3}
 结果要为
  {4,5}
2009-11-09 20:54
zhaokk
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2009-11-6
收藏
得分:0 
回复 2楼 m456m654
在你给的 程序里只能做到 不重复的 a-a交b
但是不做到如下
a[6]={1,2,2,3,4,5}
b[3]={1,2,3}
结果要为
  {4,5}
2009-11-09 20:55
快速回复:一个小问题求大师们帮个忙呀!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049149 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved