蓝桥杯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;
}
相关推荐
hunteritself8 分钟前
再谈ChatGPT降智:已蔓延到全端,附解决方案!
人工智能·gpt·算法·机器学习·chatgpt·openai
孙尚香蕉29 分钟前
深入探索哈夫曼编码与二叉树的遍历
数据结构·算法
Helene190030 分钟前
Leetcode 283-移动零
算法·leetcode·职场和发展
济宁雪人31 分钟前
数据结构之栈和队列
数据结构
andyweike33 分钟前
数据结构-排序思想
数据结构·算法·排序算法
一只码代码的章鱼42 分钟前
高精度算法:加减乘除 (学习笔记)
算法
go54631584651 小时前
磁盘调度算法
服务器·数据库·算法
monkiro1 小时前
机器学习算法基础知识1:决策树
算法·决策树·机器学习
volcanical1 小时前
线性回归与逻辑回归
算法·逻辑回归·线性回归
yonuyeung1 小时前
代码随想录算法【Day4】
算法