解题思路:先把后面重复的数字记为0,然后排序

注意事项:

参考代码:

#include<stdio.h>

int main()

{

   int n,b,c,i,j,t,a[100];

   scanf("%d",&n);

   c=n;//c记录不重复数字

   for(i=0;i<n;i++)

   {

      scanf("%d",&a[i]);//输入10个数,存放于数组a中

   }

   for(i=0;i<n-1;i++)

   {

      b=a[i];

      for(j=i+1;j<n;j++)

      {

         if(b==a[j]&&b!=0)

         {

            a[j]=0;//令后面重复的数字为0

            c--;

         }

      }

   }

   for(i=0;i<n-1;i++)//冒泡排序

   {

      for(j=i+1;j<n;j++)

      {

         if(a[i]>a[j])

         {

            t=a[i];

            a[i]=a[j];

            a[j]=t;

         }

      }

   }

   printf("%d\n",c);

   for(i=0;i<n;i++)

   {

      if(a[i]!=0)

         printf("%d ",a[i]);//输出不为0的数

   }

   return 0;

}


点赞(2)
 

0.0分

9 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 4 条评论

阿玉 2年前 回复TA
#include<stdio.h>
int main()
{
	int n;
	int count=0;
	int i,j;
	int a[100],b[100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	scanf("%d",&a[i]);
	for(i=0;i<n;i++)
	{
		for(j=i+1;j<n;j++)
		{
			if(a[j]==a[i])
			a[j]=0;
		}
	} 
	for(i=0;i<n;i++)
	{
		if(a[i]!=0)
		{
			b[count]=a[i];
		    count++;
		}
	}
	for(i=0;i<count-1;i++)
	{
		for(j=count-1;j>i;j--)
		{
			if(b[j-1]>b[j])
			{
				int temp=b[j-1];
				b[j-1]=b[j];
				b[j]=temp; 
			}
		}
	}
	printf("%d\n",count-1);
	for(i=0;i<count;i++)
	printf("%d ",b[i]);
    return 0;
}
格温之死 2年前 回复TA
我按照自己的理解加上你的一点提示写的
#include<stdio.h>
int main()
{
	int a[100];
	int i,g,m,j,c,t;
	scanf("%d",&g);
	m=g;
	for(i=0;i<g;i++)
	{
	scanf("%d",&a[i]);
	}
	for(i=0;i<g-1;i++)
	{
		c=a[i];
		for(j=i+1;j<g;j++)
		{
			if(c==a[j]&&c!=0)
		{	m--;
		a[i]=0;
		}
		}
	}
	for(i=0;i<g-1;i++)
	{
		for(j=i+1;j<g;j++)
		{
			if(a[i]>a[j])
			{
				 t=a[i];
			    a[i]=a[j];	
			  a[j]=t;
			}
		}
	}
	printf("%d\n",m);
	for(i=0;i<g;i++)
	{
		if(a[i]!=0)
	{printf("%d ",a[i]);}
	}
	return 0;
	}不知道错在哪里?
小易 4年前 回复TA
这个是选择排序哦,不是冒泡
C杯 5年前 回复TA
思路很好,省去了删除数组元素的那部分代码