藍橋杯練習系統 基礎練習:BASIC-1、4、5 閏年判斷、數列特徵、查找整數

BASIC-1 閏年判斷

題目信息

問題描述

給定一個年份,判斷這一年是不是閏年。
當以下情況之一滿足時,這一年是閏年:

  1. 年份是4的倍數而不是100的倍數;
  2. 年份是400的倍數。
    其他的年份都不是閏年。

輸入格式

 輸入包含一個整數y,表示當前的年份。

輸出格式

 輸出一行,如果給定的年份是閏年,則輸出yes,否則輸出no。

樣例輸入

2013

樣例輸出

no

樣例輸入

2016

樣例輸出

yes

數據規模與約定

1990 <= y <= 2050

解題代碼

#include<iostream>
using namespace std;


int main(){
	int y;
	cin>>y;
	if((y%4==0 && y%100!=0) || y%400==0){
		cout<<"yes";
	}else{
		cout<<"no";
	}
	
	return 0;
	
}

BASIC-4 數列特徵

題目信息

問題描述

 給出n個數,找出這n個數的最大值,最小值,和。

輸入格式

 第一行爲整數n,表示數的個數。
 第二行有n個數,爲給定的n個數,每個數的絕對值都小於10000。

輸出格式

 輸出三行,每行一個整數。第一行表示這些數中的最大值,第二行表示這些數中的最小值,第三行表示這些數的和。

樣例輸入

5
1 3 -2 4 5

樣例輸出

5
-2
11

數據規模與約定

1 <= n <= 10000

解題思路

 我們可以直接使用C++中<algorithm>sort()方法直接對數組進行排序,然後輸出即可。

解題代碼

#include<iostream>
#include<algorithm>
using namespace std;

int main(){
	int n,num[10010],sum = 0;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>num[i];
	}
	sort(num,num+n);
	for(int i=0;i<n;i++){
		sum += num[i];
	}
	cout<<num[n-1]<<endl;
	cout<<num[0]<<endl;
	cout<<sum;
	 
	return 0;
}

BASIC-5 查找整數

題目信息

問題描述

 給出一個包含n個整數的數列,問整數a在數列中的第一次出現是第幾個。

輸入格式

 第一行包含一個整數n。
 第二行包含n個非負整數,爲給定的數列,數列中的每個數都不大於10000。
 第三行包含一個整數a,爲待查找的數。

輸出格式

 如果a在數列中出現了,輸出它第一次出現的位置(位置從1開始編號),否則輸出-1。

樣例輸入

6
1 9 4 8 3 9
9

樣例輸出

2

數據規模與約定

1 <= n <= 1000。

解題代碼

#include<iostream>
using namespace std;

int main(){
	int num[1010],n,a;
	int flag = 0; 
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>num[i];
	}
	cin>>a;
	for(int i=0;i<n;i++){
		if(num[i]==a){
			cout<<i+1;
			flag = 1;
			break;
		}
	}
	if(flag == 0){
		cout<<-1;
	}
	
	return 0;
}

 以上就是對於本題的解題思路了。如果你覺得我的文章對你有用請點個贊支持一下吧,喜歡我寫的文章那麼請點個關注再走鴨。如果此文章有錯誤或者有不同的見解歡迎評論或者私信。
認真
我是ACfun:一個成長中的程序猿,感謝大家的支持。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章