首頁 >後端開發 >C++ >按照降序列印數字及其頻率

按照降序列印數字及其頻率

WBOY
WBOY轉載
2023-09-01 10:29:061196瀏覽

按照降序列印數字及其頻率

給定一個int元素的數組,任務是將元素按降序排列並找出它們的出現次數。

Input : arr[]={1,1,1,2,2,2,3,3,4,5,6,7,7}
Output : 7 occurs: 2
   6 occurs: 1
   5 occurs: 1
   4 occurs: 1
   3 occurs: 2
   2 occurs: 3
   1 occurs: 3

演算法

START
Step 1 -> input array with elements in sorting order
Step 2 -> calculate size of an array by sizeof(a)/sizeof(a[0]
Step 3 -> store size in a variable say en
Step 4 -> Loop For i=siz-1 and i>0 and i==
   IF a[i]!=a[i-1]
      Set to=en-1
      Print a[i] and to
      Set en=i
   End
Step 5 -> print a[0] and to
STOP

Example

的中文翻譯為:

範例

#include<stdio.h>
int main() {
   int a[]={1,1,1,2,2,2,3,3,4,5,6,7,7};
   int siz,i,en,st,to;
   siz=sizeof(a)/sizeof(a[0]);
   en=siz;
   for(i=siz-1;i>0;i--) {
      if(a[i]!=a[i-1]) {
         to=en-i;
         printf("%d occurs: %d</p><p>",a[i],to);
         en=i;
      }
   }
   to=en;
   printf("%d occurs: %d</p><p>",a[0],to);
}

輸出

如果我們執行上述程序,它將產生以下輸出

7 occurs: 2
6 occurs: 1
5 occurs: 1
4 occurs: 1
3 occurs: 2
2 occurs: 3
1 occurs: 3

以上是按照降序列印數字及其頻率的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除