蓝桥杯C++2020年5月stema测评真题参考答案

第一题 分段输出

cpp 复制代码
#include<iostream>
using namespace std;
int main()
{
    int N;
    cin>>N;
    if(N>=90) cout<<"A";
    if(N>=80&&N<90) cout<<"B";
    if(N>=70&&N<80) cout<<"C";
    if(N<70) cout<<"D";
    return 0; 
} 

第二题 小球反弹高度

cpp 复制代码
#include<iostream>
using namespace std;
int main()
{
    int n,sum=0,h;
    cin>>n;
    sum=sum+n;
    for(int i=1;i<=10;i++)
    {
        n=n/2;
        sum=sum+n*2;
    }
    cout<<n<<endl;
    sum=sum-n;
    cout<<sum<<endl;
    return 0;
}

第三题 求最大值、最小值和平均值

cpp 复制代码
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    int a[10],sum=0;
    for(int i=0;i<=9;i++)
    {
        cin>>a[i];
    }
    sort(a,a+10);
    cout<<a[9]<<",";
    cout<<a[0]<<",";
    for(int i=0;i<=9;i++)
    {
        sum=sum+a[i];
    }
    cout<<sum/10.0;
    return 0;
}

第四题 回文数

方案一、

cpp 复制代码
#include<iostream>
using namespace std;
int weifun(int o)
{
    int i=0;
    while(o>=1)
    {
        o=o/10;
        i++;
    }
    return i;
}
int huifun(int m)
{
    int b=0,k=0,wei=0,a=1;
    b=m;
    wei=weifun(m);
    for(int j=1;j<wei;j++)
    {
        a=a*10;
    }
    m=0;
    for(int i=1;i<=wei;i++)
    {
        k=b/10;
        b=b%10;b=b*a;
        m=m+b;
        b=k;
        a=a/10;
    }
    return m;
}
int main()
{
    int N,sum=0,o;
    cin>>N;
    for(o=1;o<=N;o++)
    {
    if(o==huifun(o))
    {
    cout<<o<<endl;
    sum++;
    }
    }
    cout<<"*"<<sum<<endl;
    return 0;
}

方案二、

cpp 复制代码
//转成字符串的方式判断
#include <bits/stdc++.h>
using namespace std;
int main() {
	string s;
	int n, len, cnt = 0, i, j;
	cin >> n;
	for ( i = 1; i <= n; i++) {
		s = to_string(i);
		len = s.size();
		for (j = 0; j < len / 2; j++) {
			if (s[j] != s[len - j - 1] ) break;
		}
		if (j == len / 2) {
			cout << s << " ";
			cnt++;
		}
	}
	cout << "*" << cnt;
	return 0;
}

第五题 平年闰年判断

方案一、

cpp 复制代码
#include<iostream>
using namespace std;
bool run(int m)
{
    if(m%100==0)
    {
    if(m%400==0) return 1;
    else return 0;
    }
    else if(m%4==0) return 1;
    else return 0;
}
int main()
{
    int nian,yue,ri,a,b=0,today=6,yu;
    int pyue[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    int ryue[12]={31,29,31,30,31,30,31,31,30,31,30,31};
    cin>>nian>>yue>>ri;
    a=151;
    for(int i=2020;i<=nian;i++)
    {
        if(nian-i>=1) 
        {
            if(run(i)==1) b=b+366;
            else b=b+365;
        }
        else 
        {
        for(int j=0;j<yue-1;j++)
        {    
            {
            if(j!=1) b=b+pyue[j];
            else if(run(nian)==1) b=b+ryue[j];
            else b=b+pyue[j];
            }
        }
        b=b+ri;
    }
    }
    cout<<b-a<<endl;
    yu=(b-a)%7;
    today=(today+yu)%7;
    cout<<"*"<<today<<endl;
    return 0;
}
相关推荐
瑞码空间6 小时前
01背包:动态规划的Hello World
c++·算法·0/1背包问题
鱼子星_7 小时前
【C++】反向迭代器:反向迭代器的底层认识与模拟实现
开发语言·c++·笔记·stl
Wang's Blog7 小时前
AI Agent白手起家63: LangGraph 人机交互——让人类介入 AI 工作流
人工智能·算法·人机交互
爱跳舞的烤冷面7 小时前
自学嵌入式第19天(数据结构篇——栈)
数据结构
郝学胜-神的一滴7 小时前
[简化版 GAMES 104] 现代游戏引擎 05:游戏引擎世界构建核心机制深度解析
c++·程序人生·unity·游戏引擎·计算机图形学·opengl
Darkwanderor7 小时前
C++的流简介和简单使用
开发语言·c++
乐观勇敢坚强的老彭7 小时前
C++ STL 常用容器的速查表
java·c++·算法
北冥you鱼7 小时前
深入解析 Go 中 sync.YAML.Unmarshal:如何将 YAML 数据填充到 Config 结构体
开发语言·算法·golang
lingran__7 小时前
C++ STL map 与 set 底层剖析与模拟实现万字详解|基于红黑树,复刻 SGI-STL 泛型复用架构
开发语言·c++·stl·set·map·泛型编程·sgi-stl
星轨初途8 小时前
LeetCode 热题 100——day11 滑动窗口最大值
数据结构·c++·算法·leetcode·职场和发展