一维数组去重处理法一(C语言)
生活随笔
收集整理的這篇文章主要介紹了
一维数组去重处理法一(C语言)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題:小明隨機生成 n(n<100000)個0~999的整數,可能有重復的數字,請你按從小到大的順序輸出這些整數(忽略重復數字),例如隨機生成的8個數為:
1 2 5 2 4 5 6 5 2
輸出結果:
1 2 4 5 6
解題思路(方法一):先排序,再去重,如果數組元素與上一個不同則輸出,反之不輸出,達到去重目的
#include <stdio.h> #include <math.h> void rsort(int arr[],int n); //升序排列函數 int main() {int n,i,x;scanf("%d",&n);int str[n];for(i=0;i<n;i++)//輸入n個數字{scanf("%d",&x);str[i]=x;}rsort(str,n);//升序排序printf("%d ",str[0]);for(i=1;i<n;i++){if(str[i]!=str[i-1])//去重處理并輸出{printf("%d ",str[i]);}}return 0;}void rsort(int arr[],int n) {int i,j,temp;for(i=0;i<n;i++){for(j=i;j<n-1;j++){if(arr[i]>arr[j+1]){temp=arr[i];arr[i]=arr[j+1];arr[j+1]=temp; } }} }附法二:一維數組去重處理法二(C語言)
總結
以上是生活随笔為你收集整理的一维数组去重处理法一(C语言)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 编写程序模拟“主人”喂养“宠物”的场景,
- 下一篇: Tomcat启动项目没问题,网页一片空白