1、走楼梯(平均分:67.7分)
试题描述
一个楼梯有 n 级,小苏同学从下往上走,一步可以跨一级,也可以跨两级。问:他走到第 N 级楼梯有多少种走法?
输入
一行一个整数 n 。
输出
一行 n 个整数,之间用一个空格隔开,表示走到第 1 级、第 2 级、……第 n 级分别有多少种走法。
输入示例
2
输出示例
1 2
其他说明
数据范围:0 < n <= 30 。
提示:斐波那契数列。须注意初始化。
#includeusing namespace std;int a[31];int main(){ int n; cin>>n; a[1]=1,a[2]=2; for(int i=3;i<=n;i++) a[i]=a[i-1]+a[i-2]; cout<
2、幸运数的划分(平均分:69.2分)
试题描述
判断一个正整数 n 是否能被一个“幸运数”整除。幸运数是指一个只包含 4 或 7 的正整数,如 7、47、477等都是幸运数,17、42则不是幸运数。
输入
一行一个正整数 n 。
输出
一行一个字符串,如果能被幸运数整除输出“YES”;否则,输出“NO”。
输入示例
47
输出示例
YES
其他说明
数据范围:1 <= n <= 1000。
提示:打表。
#includeusing namespace std;int a[14]={4,7,44,47,74,77,444,447,474,477,744,747,774,777};int main(){ int n; cin>>n; for(int i=0;i<=13;i++){ if(n%a[i]==0){ cout<<"YES"; return 0; } } cout<<"NO"; return 0;}
3、高个子的人数(平均分:82.9分)
试题描述
给定 n 个同学的身高(均为100 - 200之间的整数),求超过平均身高的同学人数。
输入
第一行包含一个整数 n 。 第二行包含 n 个正整数,之间用一个空格隔开。
输出
一行一个整数,表示超过平均身高的同学人数。
输入示例
6 160 155 170 175 172 164
输出示例
3
其他说明
数据范围:n <= 10000 。
提示:int除法自动向下取整。
#includeusing namespace std;int a[10001];int main(){ int n; cin>>n; int s=0; for(int i=1;i<=n;i++) cin>>a[i],s+=a[i]; int avg=s/n,ans=0; for(int i=1;i<=n;i++){ if(a[i]>avg) ans++; } cout<
4.旗手(平均分:58.3分)
试题描述
导游往往喜欢从所带的旅游团中选一个身高最高的游客,站在旅游团的前面帮着拿旅行社的旗帜。现在给定 n 个游客的身高(均为正整数),将身高最高的游客(如果身高最高的游客不唯一,那么选择最前面的那一个)和第一个游客调换位置,再依次输出他们的身高。
输入
第一行一个正整数 n ,表示有 n 个游客。 第二行包含 n 个正整数,之间用空格隔开,表示 n 个游客的身高。
输出
一行 n 个正整数,每两个数之间用空格隔开,表示调换位置后各个位置上游客的身高。
输入示例
6 160 155 170 175 172 164
输出示例
175 155 170 160 172 164
其他说明
数据范围:1 <= n <= 10000。
提示:swap交换函数。
#includeusing namespace std;int a[10001];int main(){ int n; cin>>n; int maxn=0,maxa; for(int i=1;i<=n;i++){ cin>>a[i]; if(a[i]>maxn) maxn=a[i],maxa=i; } swap(a[maxa],a[1]); cout<