1. 程式人生 > 其它 >吳凡的題庫——快快程式設計201-250

吳凡的題庫——快快程式設計201-250

  1. 最大數
題目描述
輸入8個整數,輸出其中最大的數字。 注意:8個整數可能出現負數。
輸入輸出格式
輸入格式
8個整數
輸出格式
一個整數
#include<iostream>
using namespace std;
int main(){
	int n[1004],x,b;
	x = 8;
	for(int i = 0; i < x;i++){
		cin>>n[i];
	}
	b = n[0];
	for(int i = 0;i < x;i++){
		if(n[i] > b)
			b = n[i]; 
	}
	cout<<b;
	return 0;
}
  1. 三角旗1
題目描述
請寫一個程式,輸入是一個正整數n,輸出一個邊長為n的三角旗,高n行,寬n列,由@符合組成。請注 意,每行行末不能有多餘空格。
輸入輸出格式
輸入格式
輸入檔案triangle1.in  輸入一個正整數n,不超過1000。
輸出格式
輸出檔案triangle1.out  輸出n行字串。
輸入輸出樣例
輸入樣例#1:
5
輸出樣例#1:
@@@@@
@@@@
@@@
@@
@

輸入樣例#2:
2
輸出樣例#2:
@@
@
輸入樣例#3:

輸出樣例#3:

#include<bits/stdc++.h>
using namespace std;
int main(){
	freopen("triangle1.in", "r", stdin);
	freopen("triangle1.out", "w", stdout);
	int n;
	cin>>n;
	for(int i = 1; i <= n;i ++){
		for(int j = 1;j <=n-i+1; j ++){
			cout<<"@";
		}
		cout<<endl;
	}
    return 0;
}
  1. 刪除最大數
題目描述
請寫一個程式,輸入n個不同的整數,除了最大數字以外,依次輸出剩餘的n-1個整數。輸入共兩行:第一行為正整數n,第二行為n個整數。 其中n<=100,數字絕對值不超過100000。
輸入輸出格式
輸入格式
第一行為正整數n,第二行為n個整數。
輸出格式
n-1個整數,有空格隔開。
#include<iostream>
using namespace std;
int main(){
	int x[105],l,output[105],n;
    cin>>n;
	for(int i = 0;i < n;i++){
		cin>>x[i];
	}
	l = x[0];
	for(int i = 0;i< n;i++){
		if(x[i] > l){
			l = x[i];
		}
	}
	for(int i = 0;i < n;i++){
		if(x[i] != l){
			cout<<x[i]<<" ";
		}
	}
    return 0;
}
  1. 三七二一
題目描述
輸入一個正整數n(1<=n<=10^18),如果該數字中3,7,2,1都出現了,就輸出Yes,否則輸出No
輸入輸出格式
輸入格式
如題
輸出格式
如題
輸入輸出樣例
輸入樣例#1:
774321
輸出樣例#1:
Yes
輸入樣例#2:
123456
輸出樣例#2:
No
輸入樣例#3:

輸出樣例#3:

#include<iostream>
using namespace std;
typedef long long ll;
ll countk(ll x, ll k){
	ll cnt=0;
	do{
		if(x%10==k)		cnt++;
		x /= 10;
	}while(x);
	return cnt;
}
int main(){
	ll n;
	cin>>n;
	if(countk(n, 3)>0&&countk(n, 7)>0&&countk(n, 2)>0&&countk(n, 1)>0)
		cout<<"Yes";
	else
	    cout<<"No";
	return 0;
}
  1. 六六六
題目描述
輸入一個正整數n(1<=n<=10^18),請用程式判斷該 數字裡出現幾個6。有幾個6就輸出幾個6,如果沒有6那就輸出Unhappy
輸入輸出格式
輸入格式
如題
輸出格式
如題
輸入輸出樣例
輸入樣例#1:
123456123456123456
輸出樣例#1:
666
輸入樣例#2:
12345
輸出樣例#2:
Unhappy
輸入樣例#3:

輸出樣例#3:

#include<bits/stdc++.h>
using namespace std;
int main(){
	bool flag=false;
	string s;
	cin>>s;
	for(int i=0;i<s.size();i++)
		if(s[i] == '6'){
			cout<<"6";
			flag = true;
		}
	if(not flag)	cout<<"Unhappy";
	return 0;
}
  1. 求位數
題目描述
對於一個非負整數n,請問n包含幾個數碼?
輸入輸出格式
輸入格式
輸入一個非負整數n, 0<=n<=10^18。
輸出格式
一個正整數。
輸入輸出樣例
輸入樣例#1:
1234567890
輸出樣例#1:
10
輸入樣例#2:
123454321
輸出樣例#2:
9
輸入樣例#3:
0
輸出樣例#3:
1
#include<iostream>
#include<string>
using namespace std;
int main(){
	string s;
	cin>>s;
	cout<<s.length();
	return 0;
}
  1. 小野貓
題目描述
如果你家小區這個月有x只野貓,一個月後,就會出現額外x/3只野貓;下個月又會發生類似的情況。假設一開始有10只貓。一個月後有13只,兩個月後有17只,三個月後有22只,… 輸入n,請問n個月後你們小區共有幾隻野貓? 注意:x除以3不是整數時只取 整數部分。
輸入輸出格式
輸入格式
一個正整數n,n<=60
輸出格式
一個正整數
輸入輸出樣例
輸入樣例#1:
4
輸出樣例#1:
29
解釋說明:
過1個月後,共有10+10/3=10+3=13只野貓
過2個月後,共有13+13/3=13+4=17只野貓
過3個月後,共有17+17/3=17+5=22只野貓
過4個月後,共有22+22/3=22+7=29只野貓
輸入樣例#2:
1
輸出樣例#2:
13
解釋說明:過1個月後,共有10+10/3=10+3=13只野 貓
輸入樣例#3:

輸出樣例#3:

#include<iostream>
using namespace std;
int main(){
	int x,n;
	cin>>n;
	x = 10;
	for(int i = 1;i<=n;i++){
		x += x / 3;
	}
	cout<<x;
    return 0;
}
  1. 存錢買房
題目描述
小明打算全款買下一套新房,最近他看中了一套售 價n萬元的房子,小明有存款x萬,每個月他能額外 存下m萬元。請問要過多少個月小明的存款夠買這套房?
輸入輸出格式
輸入格式
輸入共一行包含n,x,m三個正整數,空格隔開,均不超過10000。
輸出格式
輸出一個整數代表需要幾個月。
輸入輸出樣例
輸入樣例#1:
100 50 3

輸出樣例#1:
17
輸入樣例#2:
100 200 10
輸出樣例#2:
0
輸入樣例#3:

輸出樣例#3:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n, x, m, result;
	cin>>n>>x>>m;
	result = max(n - x, 0);
	result = ceil(result * 1.0 / m);
	cout<<result<<endl;
	return 0;
}
  1. 收入支出查詢
題目描述
小明他以每天為單位把每一天的總收入或支出都記錄下來,共n天,正數代表收入,負數代表支出。有一天他老婆突然對他進行查賬,提 出共m個查詢問出共m個查詢問題,每個問題都是關心某兩天之間(從第i天開始到第j天結束)的存款變了多少
輸入輸出格式
輸入格式
輸入第一行為n和m(1<=n,m<=10000),第二行為n個整數代表當天的收入或支出,第三行為2*m個正整數,每兩個數代表一次查詢的起始日期和結束日期

輸出格式
輸出一行共m個數,代表每一個查詢結果。數字由空格隔開。
輸入輸出樣例
輸入樣例#1:
5 2
100 -200 60 10 -10
1 3 4 5
輸出樣例#1:
-40 0
輸入樣例#2:
無
輸出樣例#2:
無
輸入樣例#3:
無
輸出樣例#3:
無
#include<iostream>
using namespace std;
int main(){
	int n,m,d[10009],t;
	cin>>n>>m;
	for(int i=1;i<=n;i++) cin>>d[i];
	for(int i=1;i<=m;i++){
		int x,y;
		cin>>x>>y;
		t=0;
		for(int j=x;j<=y;j++) t+=d[j];
		cout<<t<<" ";
	}
	return 0;
}
  1. 集體照
題目描述
有2*n個人身高各不相同,排成兩排拍集體照,每排從左到右看必須是從矮到高排列,並且第二排比對 應的第一排的人要高。輸入n(1<=n<=30),輸出拍照的排列方式有多少種。 說明:如果四個人身高分別為1.5米,1.6米,1.7米,1.8米,那麼共有兩種 排列: 第一種: 1.5 1.6 1.7 1.8 第二種: 1.5 1.7 1.6 1.8
輸入輸出格式
輸入格式
輸入檔案photo.in  輸入n(1<=n<=30)
輸出格式
輸出檔案photo.out 輸出拍照的排列方式有多少種 。
輸入輸出樣例
輸入樣例#1:
6
輸出樣例#1:
132
輸入樣例#2:

輸出樣例#2:

輸入樣例#3:

輸出樣例#3:

#include<bits/stdc++.h>
using namespace std;
int main(){
	freopen("photo.in", "r", stdin);
	freopen("photo.out", "w", stdout);
	int level;
	long long k[100] = {1};
	cin>>level;
	for(int i=1; i<= level; i++){
		k[i] = k[i-1]*(4*i-2)/(i+1);
	}
	cout<<k[level];
	return 0;
}