教你夺冠


私信TA

用户名:835685327

访问量:148620

签 名:

相互交流 相互学习

等  级
排  名 13
经  验 21607
参赛次数 0
文章发表 84
年  龄 0
在职情况 学生
学  校 辣鸡施工大学
专  业

  自我简介:

努力刷题 熟能生巧!

参考代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int main(void)
{
	int N;
	scanf("%d", &N);
	
	int arr[N];
	int i;
	for (i = 0; i < N; i++)
	{
		scanf("%d", &arr[i]);
	}
	
	//先将数组元素进行排序,方便去重
	int j;
	int tmp;
	for (i = 0; i < N - 1; i++)
	{
		for (j = i; j < N; j++)
		{
			if (arr[i] > arr[j])
			{
				tmp = arr[i];
				arr[i] = arr[j];
				arr[j] = tmp;
			}
		}
	}
	
	/*
	for (i = 0; i < N; i++)
	{
		printf("%d ", arr[i]);
	}
	printf("\n");
	*/
	
	int res[N];		  //定义一个存放结果的数组
	res[0] = arr[0];  //第一个元素赋值为arr[0]
	int resindex = 1; //数组下标
	
	for (i = 1; i < N; i++) 
	{
		if (arr[i] == arr[i-1])   //如果该元素和前一个元素相同,跳出本次循环
		{
			continue;
		}
		res[resindex++] = arr[i]; //不相等则赋给结果数组,下标加一
	}
	
	printf("%d\n", resindex);
	for (i = 0; i < resindex; i++)
	{
		printf("%d ", res[i]);
	}
	printf("\n");
	
	return 0;
}


 

0.0分

6 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

#include <stdio.h>
int a,n,j,p=0,b[100],c[100],m,t,i;
main()
{
	scanf("%d",&n);				//随机数的个数 
	for(j=0;j<n;j++)
	{
		a=rand()%1000+1;
		b[j]=a;					//存放随机数 
		printf("%d ",a);
	}
	for(j=0;j<n;j++)			//如果有相同元素,将后面的变为0 
	{	for(i=j+1;i<n;i++)
		{	if(b[j]==b[i])
			{
				b[i]=0;	
			}	
		}
	}
	for(j=0;j<n;j++)			//将不为0的元素存放到c数组中 
	{
		if(b[j]!=0)
		c[p]=b[j];
		p++;
	}
	printf("\n%d\n",p);			//输出无相同元素个数 
	for(j=0;j<p;j++)			//使用冒泡排序法,从小到大排序 
	{
		for(i=j+1;i<p;i++)
		{
			if(c[j]>c[i])
			{
				t=c[j];
				c[j]=c[i];
				c[i]=t;	}	}	}
	for(j=0;j<p;j++)			 
	printf("%d ",c[j]);			//输出 
}
为什么是错误答案啊!
2020-12-04 20:43:05
  • «
  • 1
  • »