蓝桥杯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;
}
相关推荐
古月-一个C++方向的小白5 小时前
C++11之lambda表达式与包装器
开发语言·c++
tanyongxi667 小时前
C++ AVL树实现详解:平衡二叉搜索树的原理与代码实现
开发语言·c++
Wendy14417 小时前
【线性回归(最小二乘法MSE)】——机器学习
算法·机器学习·线性回归
拾光拾趣录7 小时前
括号生成算法
前端·算法
渣呵8 小时前
求不重叠区间总和最大值
算法
拾光拾趣录8 小时前
链表合并:双指针与递归
前端·javascript·算法
好易学·数据结构9 小时前
可视化图解算法56:岛屿数量
数据结构·算法·leetcode·力扣·回溯·牛客网
斯是 陋室9 小时前
在CentOS7.9服务器上安装.NET 8.0 SDK
运维·服务器·开发语言·c++·c#·云计算·.net
tju新生代魔迷10 小时前
C++:list
开发语言·c++
HHRL-yx10 小时前
C++网络编程 5.TCP套接字(socket)通信进阶-基于多线程的TCP多客户端通信
网络·c++·tcp/ip