编程题(买帽子求第三便宜价格)
生活随笔
收集整理的這篇文章主要介紹了
编程题(买帽子求第三便宜价格)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
度度熊想去商場買一頂帽子,商場里有N頂帽子,有些帽子的價格可能相同。度度熊想買一頂價格第三便宜的帽子,問第三便宜的帽子價格是多少?
輸入描述:
首先輸入一個正整數N(N <= 50),接下來輸入N個數表示每頂帽子的價格(價格均是正整數,且小于等于1000)
輸出描述:
如果存在第三便宜的帽子,請輸出這個價格是多少,否則輸出-1
輸入例子:
10
10 10 10 10 20 20 30 30 40 40
輸出例子:
30
我用的是java,方法是比較土,如有錯誤還需指正
1.將數組元素按升序排列Arrays.sort(arr);當然不怕麻煩的話,可以寫幾個排序的算法
2.再默認第一個元素為最大數字。
3.在依次比較,相同則不改變,不相同則改變,count加 1,
當count為2時,則存在第三大的將big賦值給a3,并且退出循環
當count小于2時,則說明,不存在第三大的值。
以下是代碼:
package ceshi;import java.util.Arrays; import java.util.Scanner;public class maozi {public maozi(int n) {// TODO Auto-generated constructor stubScanner pen=new Scanner(System.in);int arr[]=new int[n];for (int i=0;i<n;i++) {arr[i]=pen.nextInt();}//輸入價格/*Arrays.sort(arr);for (int x : arr) {System.out.print(x+" ");}*///升序排列int count=0;//變化次數當前為0;int big=arr[0],a3=0;for(int i=0;i<n;i++){if(big!=arr[i]){//判斷是否相同big=arr[i];//不相同則更新最大數字count=count+1;//更新次數if(count==2){//當更新2次則出現第三個大數字a3=big;break;}if(count<2){//小于2次則沒有數字a3=-1;}} }System.out.println(+a3); } }main代碼:
package ceshi;import java.util.Scanner;public class main_class {public static void main(String[] args) {// TODO Auto-generated method stubScanner pen=new Scanner(System.in);int n;n=pen.nextInt();maozi maozi1=new maozi(n);} }
如果對你有幫助的話,給個贊吧。謝謝喲。
總結
以上是生活随笔為你收集整理的编程题(买帽子求第三便宜价格)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java计算机毕业设计共享单车管理系统(
- 下一篇: 拯救渣画质,马赛克图秒变高清,杜克大学提