蓝桥杯刷题(二)


在这里插入图片描述

蓝桥杯题库

一.空间

在这里插入图片描述

这道题很简单,要弄清单位间的转换和如何输出就可以啦

在这里插入图片描述

#include <stdio.h>

int main()
{
  printf("%.0f",256/(32/4/2/1024.0000/1024));
  return 0;
}

记住除的数里面一定要至少一个带小数点哟,不然会直接为0

二.排序

在这里插入图片描述

这道题看似很困难,实际上只要看到它的限制条件(最短,最小),其实就能发现规律啦

(1,0)两个元素需要冒泡一次,(2,1,0)三个元素需要冒泡三次,(3,2,1,0)四个元素需要冒泡5次,所以我们可以看出对于这种完全乱序的数组,我们最多需要排序n(n-1)/2次

#include<stdio.h>
int main()
{
  //这里需要排105次至少得15个字符

  //而15个字符如果完全乱序最多可排105次

  //那么我们就以最小代价移动,也就是j向前移动5位

  printf("jonmlkihgfedcba");
}

ps:字典序最小就是首元素最小

三.成绩分析

在这里插入图片描述在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>

int main()
{
  int n,i,score[10000],max=0,min=100;
    float aver=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&score[i]);
        aver+=score[i];
        if(max<score[i])
        {
          max=score[i];
        }
        if(min>score[i])
        {
         min=score[i];
        }
    }
    aver=aver/n;
    printf("%d\n%d\n%.2f\n",max,min,aver);
  return 0;
}

这道题比较简单,没什么好说的

四.蛇形填数

在这里插入图片描述

在这里插入图片描述

这样其实可以看出其实是1+4+8+16,如果去掉第一个数其实就是等差数列,这样可以算出到第20个数时其实+4*19,利用等差公式可以得出第20个数是761

#include<stdio.h>

int main()
{
  printf("761");
  return 0;
}

五.跑步锻炼(较难)

在这里插入图片描述

这道题我是从年,月,日分别考虑的。
1.年是从2000年开始到2020年
3.月份用一个数组存起来
4.天数从第一天到这个月的最后一天

#include <stdio.h>

int main()
{
  int i=0,day=0,sum=0,n=6;//因为是从星期6开始,所以n设为6,n为星期几
  int month[13]=//这里月份从一开始,较好计算
  {0,31,28,31,30,31,30,31,31,30,31,30,31};
  int year=0;
  for(year=2000;year<=2020;year++)//年份
  {
    if((year%4==0&&year%100!=0)||(year%400==0))//判断闰年
    {
      month[2]=29;//该2月的天数
    }
    else
    {
      month[2]=28;
    }
    for(i=1;i<=12;i++)//从第一月到第12月
    {
      for(day=1;day<=month[i];day++)//每一天
      {
         if(n==8)//达到星期8时,就改为星期一
         {
           n=1;
         }
         if(n==1||day==1)//如果是星期一或者每月第一天,就多跑1km
         {
           sum++;
         }
        n++;
        sum++;//每天跑1km
       if(year==2020&&i==10&&day==1)//判断是否是目的时间
       {
        printf("%d",sum);
       }
      }
    }
  }
  return 0;
}
  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸蛋挞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值