欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

华为机试(明明的随机数)C语言

程序员文章站 2022-03-06 08:22:23
...

华为机试(明明的随机数)C语言

华为机试(明明的随机数)C语言

完整的代码:

#include<stdio.h>
//先排序了在去重 
void sortSelect(int a[],int n);
void quChong(int a[],int n);
int main(){
	int str[1000];
	int n;
	while(scanf("%d",&n)!=EOF){
		for(int i=0;i<n;i++){
			scanf("%d",&str[i]);
		}
		sortSelect(str,n);
		quChong(str,n);
	}
	return 0;
}
void sortSelect(int a[],int n){
	int t;
	for(int i=0;i<n-1;i++){
		for(int j=i+1;j<n;j++){
			if(a[i]>a[j]){
				t=a[j];
				a[j]=a[i];
				a[i]=t;
			}
		}
	}
}
void quChong(int a[],int n){
	int index=1;
     int b[n];
     b[0] = a[0];
     for(int i=1;i<n;i++){
          if(a[i] != a[i-1]){//如果当前遍历的元素和前一个元素不相等
               b[index++] = a[i];//存到b中 
           }
       }
     for(int i=0;i<index;i++){
           printf("%d\n",b[i]);
       }
}

难点:

1.在准备机试的时候,一定要准备一个排序算法,我选择的是简单选择排序算法,手动模拟排序的过程熟练的掌握。

2.理解数组去重的算法,手动的模拟可以加深对代码的理解。

3.注意输入的方法。

4.这个题还是有一定的难度的,多花时间理解。

相关标签: 算法 学习

上一篇: Java基础第一天

下一篇: 第五章