信息学奥赛C++语言: 抽奖2
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛C++语言: 抽奖2
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目描述】
公司舉辦年會,為了活躍氣氛,設置了搖獎環節。參加聚會的每位員工都有一張帶有號碼的抽獎券。現在,主持人從小到大公布n個不同的獲獎號碼,小謝看著自己抽獎券上的號碼win,無比緊張。請編寫一個程序,如果小謝獲獎了,請輸出他中獎的是第幾個號碼;如果沒喲中獎,請輸出0。
【輸入】
第一行1個正整數n,表示有n個獲獎號碼。
第二行包括n個正整數,之間用一個空格隔開,表示依次公布的n個獲獎號碼。
第三行1個正整數win,表示小謝抽獎券上的號碼。
1≤獲獎號碼,win<10000。
【輸出】
一行一個整數,如果小謝中獎了,請輸出中的是第幾個號碼;如果沒有中獎請輸出0。
【輸入樣例】
7
1 2 3 4 6 17 9555
3
【輸出樣例】
3
代碼
#include<cstdio> using namespace std; int i,n,a[101],win,t,left,right,mid; int main() {scanf("%d",&n);for(i=1;i<=n;i++)scanf("%d",&a[i]);scanf("%d",&win);t=0;left=1;right=n;while(left<=right){mid=(left+right)/2;if(a[mid]==win){t=mid;break;}if(win<a[mid])right=mid-1;if(win>a[mid])left=mid+1;}printf("%d",t);return 0; } 新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的信息学奥赛C++语言: 抽奖2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最长平台(信息学奥赛一本通-T1116)
- 下一篇: s3c2440移植MQTT