| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 784 人关注过本帖
标题:这个程序哪里错了??
只看楼主 加入收藏
lrt201136019
Rank: 1
等 级:新手上路
帖 子:54
专家分:2
注 册:2012-3-18
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:10 
这个程序哪里错了??
1.假设a数组中的数据已按照有大到小的顺序存放,编写函数test1把a数组中相同的数据删的只剩一个,在主函数输出a数组中的数据。 int test1(int *a,int n)
#include <stdio.h>
#define N 10
static int b[N];
void main()
{int *p,i,j=0;p=b;
 void test1(int *a,int n);
 printf("Input numbers:\n");
 for(i=0;i<N;i++)
 scanf("%d",p++);
 p=b;
 test1(*p,N);
  for(i=0;i<j;i++)
 printf("%d ",b[i]);
 printf("\n");}
void test1 (int *a,int n)

{int i,j=0;
    for(i=0;i<n;i++)
    {if(*a(i+1)==*a(i))
   continue;
  else
  {*a(j+1)=*a(i+1);
    j++;}
  }

 }

它说啊a不是一个函数是什么意思???
搜索更多相关主题的帖子: void continue include numbers 
2012-05-18 19:09
唯我独魔
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:176
专家分:782
注 册:2011-4-13
收藏
得分:0 
*a(i+1)和*a(i)改成a[i+1]和a[i]
2012-05-18 19:51
pilihu2012
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-5-18
收藏
得分:0 
或者是*(a+i+1)和*(a+i),就跟你前面用的scanf()里面的 p++ 一样
2012-05-18 20:14
千年小妖
Rank: 2
等 级:论坛游民
帖 子:11
专家分:17
注 册:2012-5-18
收藏
得分:10 
#include <stdio.h>
#define N 10

static int b[N];
void main()
{
    int *p,i,j=0,q;
    p=b;
    int test1(int *a,int n);
   
    printf("Input numbers:\n");
    for(i=0;i<N;i++)
        scanf("%d",p++);
    p=b;
    q=test1(p,N);
    for(i=0;i<q;i++)
        printf("%d ",b[i]);
    printf("\n");
}

int test1 (int *a,int n)
{
    int i,j=0;
    for(i=0;i<n;i++)
    {
        if(*(a+i+1)==*(a+i))
            continue;
        else
        {
            *(a+j+1)=*(a+i+1);
            j++;
        }
    }   
    return j;
}
应该把int test1 (int *a,int n)函数中的j返回,望采纳!
2012-05-18 22:15
jayzeng
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-2-16
收藏
得分:0 
#include <stdio.h>
#define N 10
static int b[N];
void main()
{
    int test1(int *a,int n);
    int *a(int n);
    int *p,i,j=0;p=b;
    printf("Input numbers:\n");
    for(i=0;i<N;i++)
    scanf("%d",p++);
    p=b;
    *a(i);     //后补的一个返回整型指针的函数
                //正常使用应该是a(i),但*a(i)会被vc编译器认为是函数
    j=test1(p,N);
    for(i=0;i<j;i++)
    printf("%d ",b[i]);
    printf("\n");
}



int test1 (int *a,int n)
{
    int i,j=0;
    for(i=0;i<n;i++)
    {
        if(*(a+(i+1))==*(a+i)) // 一位数组指针原形 *(a+i),a是地址,
                        //*a(i)会被编译器判断为一个函数
                     //下面补了一个返回指针的函数实验一下
                                
        continue;
        else
        {
            *(a+(j+1))=*(a+(i+1));
            j++;               //这里的j作用域只在test1函数里
        }            //所以要返回j,或者把j定义成全局变量
    }
    return j;
}

int *a(int n)
{
    if(N==n)
    printf("这是一个返回整型指针的函数\n");
    return 0;
}

[ 本帖最后由 jayzeng 于 2012-5-19 02:32 编辑 ]
2012-05-19 01:52
jayzeng
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-2-16
收藏
得分:0 
半桶水的我~有点忐忑的写完了上面的东东~如果错了不要喷~

[ 本帖最后由 jayzeng 于 2012-5-19 02:23 编辑 ]
2012-05-19 02:09
lrt201136019
Rank: 1
等 级:新手上路
帖 子:54
专家分:2
注 册:2012-3-18
收藏
得分:0 
回复 4楼 千年小妖
哇塞太棒了!!!!
编的真好!!
2012-05-19 22:03
千年小妖
Rank: 2
等 级:论坛游民
帖 子:11
专家分:17
注 册:2012-5-18
收藏
得分:0 
回复 7楼 lrt201136019
过奖了,兴趣是最好的老师,C博大精深,拒绝浮躁!
2012-05-19 23:43
lrt201136019
Rank: 1
等 级:新手上路
帖 子:54
专家分:2
注 册:2012-3-18
收藏
得分:0 
回复 8楼 千年小妖
的确,有时急躁了越想编出来的时候就越不行,谢啦~
2012-05-20 11:01
lrt201136019
Rank: 1
等 级:新手上路
帖 子:54
专家分:2
注 册:2012-3-18
收藏
得分:0 
题目是从X中删除和Y相同的元素
#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);
  
}

2012-05-20 13:34
快速回复:这个程序哪里错了??
数据加载中...
 
   



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

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