原题链接:明明的随机数
参考代码如下:
#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分
4 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
#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]); //输出 } 为什么是错误答案啊!