noip2014到2017初赛普及组看程序写结果、完善程序

一晃又是noip2018了

今天先进行普及组初赛摸底

计划做两套题(noip2016、noip2014,这两套题比较中规中矩),分析一下大家的知识点缺陷,然后每个人再进行有针对性的学习。

重点是 看程序写结果,完善程序

noip2016的题目相对简单,又有一些小陷阱,比较适合提醒大家注意细节

二十二届 2016

一、选择

二分:

14. 给定含有 n 个不同的数的数组 L=<x 1 , x2 , ..., xn >。如果 L 中存在 x(i1 < i < n) 使得 x1 < x2 < ... < xi -1 < xi > xi+1 > ... > xn , 则称 L 是单峰的,并称 xi 是 L 的“峰顶”。现在已知 L 是单峰的,请把 a-c 三行代码补全到算法中使得算法 正确找到 L 的峰顶。
a.    Search(k+1, n)
b.    Search(1, k-1)
c.    return L[k]

Search(1, n)
1. k<-[n/2]
2. if L[k] > L[k-1] and L[k] > L[k+1]
3. then __________
4. else if L[k] > L[k-1] and L[k] < L[k+1]
5. then __________
6. else __________
正确的填空顺序是(    )。

 

三、看程序写结果

1.    //求最大、最小、累加求和、求平均

#include <iostream> 
using namespace std; 
int main() {
  int max, min, sum, count = 0; 
  int tmp;
  cin >> tmp; 
  if (tmp == 0)
     return 0;
  max = min = sum = tmp; 
  count++;
  while (tmp != 0) { 
    cin >> tmp;
    if (tmp != 0) { 
      sum += tmp;
      count++;
      if (tmp > max) max = tmp; 
      if (tmp < min) min = tmp;
    }
  }
  cout << max << "," << min << "," << sum / count << endl; 
  return 0;
}

输入: 1 2 3 4 5 6 0 7 
输出:_________

 

2. //计数器

#include <iostream> 
using namespace std;
int main() {
  int i = 100, x = 0, y = 0; 
 while (i > 0) {
   i--;
   x = i % 8; 
   if (x == 1) y++;
 }
 cout << y << endl; 
 return 0;
}

输出:_________

 

3. //将数组倒序输出,最大的坑是输出的末尾有一个",",很多同学都没打。

#include <iostream> 
using namespace std;
int main() {
  int a[6] = {1, 2, 3, 4, 5, 6}; 
  int pi = 0;
  int pj = 5; 
  int t , i;
while (pi < pj) { 
  t = a[pi]; 
  a[pi] = a[pj]; 
  a[pj] = t; 
  pi++;
  pj--;
}
for (i = 0; i < 6; i++) cout << a[i] << ",";
cout << endl;
 return 0;
}

输出:_________
 

4.//字符串的比较,大小写转换

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值