| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 359 人关注过本帖
标题:谁能解答一下我的疑惑!!
只看楼主 加入收藏
lrt201136019
Rank: 1
等 级:新手上路
帖 子:54
专家分:2
注 册:2012-3-18
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:5 
谁能解答一下我的疑惑!!
#include"stdio.h"
void main()
{   int x[5],y[5];
    int i,j,k,p,*p1=x,*p2=y;
    int test2(int *x,int *y,int m,int n);
    printf("Input x:");
    for(i=0;i<5;i++)
        scanf("%d",&x[i]);
    printf("Input y:");
    for(j=0;j<5;j++)
        scanf("%d",&y[j]);
    k=test2(p1,p2,5,5);
    for(p=0;p<k;p++)
    printf("  %d",x[p]);
}
int test2(int *x,int *y,int m,int n)
{int p=0,i,j,k=m;
    for(i=0;i<m;i++)
    {
       for(j=0;j<n;j++)
       {
         if(*(y+j)==*(x+i))
         {
            k--;
            break;
         }
         if(j==n){*(x+p)=*(x+i);p++;}
       }            
    }
    return(k);
  
}


为什么这个从程序输入
X:1 2 3 4 5
Y:3 4 5 6 7
的时候出来的就是1 2,这个结果是对的
输入
X:3 4 5 6 7
Y:1 2 3 4 5
的时候出来的就是3 4,是错的
帮我解答一下吧!
搜索更多相关主题的帖子: void include 
2012-05-20 10:59
lrt201136019
Rank: 1
等 级:新手上路
帖 子:54
专家分:2
注 册:2012-3-18
收藏
得分:0 
题目是:2.编写函数test2实现两个整数集合x,y的减运算(即从x中删除和y中相同的元素) int test2(int *x,int *y,int m,int n)
2012-05-20 10:59
Dick_G
Rank: 2
等 级:论坛游民
帖 子:21
专家分:84
注 册:2012-4-7
收藏
得分:0 
k=test2(p1,p2,5,5);
     for(p=0;p<k;p++)
     printf("  %d",x[p]);
 返回的K是一个整数,你输出的只是x的前K 项而已。
2012-05-20 11:11
lrt201136019
Rank: 1
等 级:新手上路
帖 子:54
专家分:2
注 册:2012-3-18
收藏
得分:0 
回复 3楼 Dick_G
不会吧。。。。也就是说X和Y的减运算的功能就没有实现啊。。。。那要怎么改啊求指教
2012-05-20 11:45
missu_1314
Rank: 2
等 级:论坛游民
帖 子:46
专家分:98
注 册:2010-9-8
收藏
得分:20 
  给力!!!!!!!!!!!!!!!
int test2(int *x,int *y,int m,int n)
{int p=0,i,j,k=m;
    for(i=0;i<m;i++)
    {
       for(j=0;j<n;j++)
       {
         if(*(y+j)==*(x+i))
         {
            k--;
            break;
         }
         if(j==n){*(x+p)=*(x+i);p++;}   此语句放着里, j永远不可能为n,,  
       }   
       if(j==n){*(x+p)=*(x+i);p++;}    放这里才行,才可以为n,才能改变数组的值,,  给分吧,亲!!!      
    }
    return(k);
  
}



[ 本帖最后由 missu_1314 于 2012-5-20 14:30 编辑 ]
2012-05-20 14:28
lrt201136019
Rank: 1
等 级:新手上路
帖 子:54
专家分:2
注 册:2012-3-18
收藏
得分:0 
回复 5楼 missu_1314
啊对!!
怎么这么简单的搓我都没看出来
太感谢了,我的心情瞬间变好了
果断给分!
2012-05-20 14:38
快速回复:谁能解答一下我的疑惑!!
数据加载中...
 
   



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

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