回 帖 发 新 帖 刷新版面

主题:我有一个程序希望大家帮忙改一下

我是大一新生学计算机的,今天实验课有一道编程题运行不出正确结果,请求大家帮我改正。
万分感谢!
编写函数,把整数组中值相同的元素删除得只剩一个,并把剩余元素全部顺移到前面。

#include"stdio.h"
int Delete(int as[10])
{
    int i,j,k,q=10;
    for(i=1;i<9;i++)
    {
        j=i+1;
        while((as[i]!=as[j])&&j<10)
        j++;
    {
        if(j!=9)
        {
            for(k=j+1;k<10;k++)
                as[k-1]=as[k];
        }
        else
            as[j]=0;
        q--;
    }
    }
    return q;
}

void main()
{
    int a[10],i,m;
    printf("inpute 10 numbers:\n");
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);
    m=Delete(a);
    for(i=0;i<m;i++)
        printf("%4d",&a[i]);
}


回复列表 (共2个回复)

沙发

好长时间没玩C语言了。
应该是int Delete(int as[10])语句中的参数搞错了。请改为:

int Delete(int *as) 试一试。

板凳

[b]你好.我是全职网赚工作者.
如果你有时间有电脑.会打字.
想在网络上创业.请联系我.
项目绝对真实.
详情QQ空间资料
加盟请联系 QQ908889846[/b]
提供信息.打搅见谅.
2010年,中国网民突破了4亿,网络游戏玩家超过了3亿,互联网即将进入全民网游的时代[u][/u][b][/b]

我来回复

您尚未登录,请登录后再回复。点此登录或注册