qq_27416233
好一个迷途小书童
采纳率11.1%
2016-04-17 15:09 阅读 1.4k

小白 求 大神 帮忙找下错误.实在是找不出来了

#include
#include
#include
int main()
{
int m , N , i , k , k1,k2=0 , j , temp,flag;

int *p;

int array[1001];

int array1[1001]; 

//p=array;

//************************************************这个是把数组随机出来

srand(time(NULL));

scanf("%d",&N);

for(i = 0 ;i < N; i++ )
{
    array[i] = rand()%1000+1;
}


/*for(i = 0; i< N;i++)
{
    printf("%d  ",array[i]);
}
*/
k= N;

//****************************************************

//***********************************************删掉多余的数字
for(i=0;i<N;i++)
{
for(j=i+1;j<N;j++)
{
if(array[i]==array[j])
{
flag=0;break;
}
}
if(flag==1)
{
array1[k2]=array[i];
//printf("%d ",array[k]);
k2++;
}
flag=1;
}
//*************************************************

//*************************************************这个使用来排序的
for( i = 0; i < k2;i++)
{
for( j = 0; j < k2; j++)
{
if(array1[i]<array1[j])
{
temp = array1[i];

            array1[i] = array1[j];

            array1[j] = temp;           
        }
    }   
}

for( i = 0; i < k2-1 ; i++)
{
    printf("%d ",array1[i]);    
}
printf("%d",array1[k2-1]);

return 0;   

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2016-04-17 15:19
     #include <stdio.h>
    int main()
    {int i,j,n,sum=0,x[1001]={0};
    scanf("%d",&n);
    for (i=1;i<=n;i++)
    {scanf("%d",&j);
    if (x[j]==0) sum++;
    x[j]=1;
    }
    printf("%d\n",sum);
    for (i=1;i<=1000;i++)
    if (x[i]==1) printf("%d ",i);
    return 0;
    }    
    
    点赞 1 评论 复制链接分享
  • AgoniAngel AgoniAngel 2016-04-17 15:34

    你的代码放在其他地方没有问题,但这是ACM题,你的输入显然不符合ACM/ICPC题目的格式。
    题目已经给出输入样例,也就是说随机数不是你自己生成的,而是用户按那个样例输入的。
    可参考以下代码,以C++提交,有任何问题可以提出来。

    #include<stdio.h>
    #include<stdlib.h>
    #include<algorithm>
    using namespace std;
    
    int main()
    {
        int  n,i,j,k,sign,a[1100],b[1100];
        while(scanf("%d",&n)!=EOF)
        {
            for(i=0;i<n;i++)
              scanf("%d",&a[i]);
            k=0;
            for(i=0;i<n;i++)
            {
                sign=1;
                for(j=i+1;j<n;j++)
                {
                    if(a[i]==a[j])
                    {
                        sign=0;
                        break;
                    }
                }
                if(sign==1)
                {
                    b[k++]=a[i];
                }
            }
            sort(b,b+k);
            printf("%d\n",k);
            printf("%d",b[0]);
            for(i=1;i<k;i++)
              printf(" %d",b[i]);
            printf("\n");
        } 
        return 0;
    }
    
    点赞 1 评论 复制链接分享
  • qq_27416233 好一个迷途小书童 2016-04-17 15:11

    图片说明

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2016-04-17 15:18
     #include <stdio.h>
    int main()
    {
        int n,i,j,p[1001];
        scanf("%d",&n);
        for(i = 0; i < n; ++i)
        scanf("%d",&p[i]);
        for(i = 0; i < n; ++i)
        {
            for(j = i + 1; j < n; ++j)
            {
                if(p[i] == p[j])
                p[j] = 0;
            }
        }
        for(i = 0; i < n; ++i)
        {
            int k = i;
            for(j = i+1; j < n; j++)
            if(p[k] > p[j])
            k = j;
            if(k != i)
            {
                int t = p[i];
                p[i] = p[k];
                p[k] = t;
            }
        }
        int sign = 0;
        for(i = 0; i < n; ++i)
        if(p[i] != 0)
        sign++;
        printf("%d\n",sign);
        for(i = 0; i < n; ++i)
        if(p[i] != 0)
        printf("%d ",p[i]);
    }
    
    点赞 评论 复制链接分享

相关推荐