0


蓝桥杯 题库 简单 每日十题 day7

在这里插入图片描述

01 啤酒和饮料

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐酒。

#include<stdio.h>#include<stdlib.h>intmain(){int i,j;for(i=1;i<=40;i++){for(j=1;j<=50;j++){if(i*2.3+j*1.9==82.3&&i<j){printf("%d",i);}}}return0;}

02 武功秘籍

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。小明到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的)。他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上。小明只想练习该书的第81页到第92页的武功,又不想带着整本书。请问他至少要撕下多少张纸带走?

#include<stdio.h>#include<stdlib.h>intmain(){int s,i;
  s=0;for(i=81;i<=92;i++){if(i%2==0)
      s++;}printf("%d",s+1);return0;}

03 序列个数

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
请问有多少个序列满足下面的条件:
1.序列的长度为5。
2.序列中的每个数都是1到10之间的整数。
3.序列中后面的数大于等于前面的数。

#include<stdio.h>#include<stdlib.h>intmain(){int a,b,c,d,e,ans=0;for(a=1;a<11;a++)for(b=a;b<11;b++)for(c=b;c<11;c++)for(d=c;d<11;d++)for(e=d;e<11;e++)
            ans++;printf("%d",ans);return0;}

04 双阶乘

在这里插入图片描述

#include<stdio.h>#include<stdlib.h>intmain(){int i;int n=2021;int sum=1;for(i=1;i<=2021;i++){if(i%2)//是奇数{
      sum*=i;
      sum%=100000;}}printf("%d",sum);return0;}

05 利息计算

题目描述
小李年初在银行存款1千元(一年定期)。他计划每年年底取出100元救助失学儿童。
假设银行的存款利率不变,年利率为3%,年底利息自动计入本金。
下面的代码计算5年后,该账户上有多少存款。
试填写缺失的代码。
源代码
C

#include<stdio.h>#include<stdlib.h>intmain(int argc,char* argv[]){double money =1000;int n =5;int i;for(i=0; i<n; i++){
        money = _______________;
        money -=100;}printf("%.2f\n", money);return0;}
#include<stdio.h>#include<stdlib.h>intmain(int argc,char* argv[]){double money =1000;int n =5;int i;for(i=0; i<n; i++){
        money = money*(1+0.03);
        money -=100;}printf("%.2f\n", money);return0;}

06 大写

题目描述
给定一个只包含大写字母和小写字母的字符串,请将其中所有的小写字母转换成大写字母后将字符串输出。
输入描述
输入一行包含一个字符串。
输出描述
输出转换成大写后的字符串。
输入输出样例
示例
输入

LanQiao

输出

LANQIAO

解析
任意一个大写字母与其对应的小写字母之间的ASCIl码值的差值是一个固定值。

#include<stdio.h>#include<string.h>intmain(){int i,len;char a[256];gets(a);//gets(a) 表示输入一个字符串到数组a,//a表示读取一个字符串存入a中,字符串输入结束标志为换行符。
    len=strlen(a);for(i=0;i<len;i++){if(a[i]>='a'&&a[i]<='z'){
            a[i]-=32;}}for(i=0;i<len;i++)printf("%c",a[i]);}

07 移动

问题描述
小蓝有一个机器人,初始时在坐标(0,0)。
小蓝可以给机器人发送指令,指令如下:
1.指令U,如果当前机器人在(x,y),执行后机器人在(x一1,y);2.指令D,如果当前机器人在(x,y),执行后机器人在(x+1,y);3.指令L,如果当前机器人在(x,y),执行后机器
人在(x,y-1);4.指令R,如果当前机器人在(x,y),执行
后机器人在(x,y+1)。
给定指令序列,请问指令全部执行后,机器人在哪个位置?
输入格式
输入一行包含一个字符串,表示指令序列,字符串中只包含
U,D,L,R四种字符。
输出格式
输出一行包含两个整数,相邻的整数之间使用一个空格分隔,分别表
示机器人的两个坐标值。
样例输入

DDDRRLR
#include<stdio.h>#include<string.h>intmain(){int x=0,y=0,i;char n[100];scanf("%s",n);for(i=0;i<strlen(n);i++){if(n[i]=='U')
     x--;if(n[i]=='D')
     x++;if(n[i]=='L')
      y--;if(n[i]=='R')
      y++;}printf("%d %d",x,y);}

08 算式900

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小明的作业本上有道思考题:
看下面的算式:
在这里插入图片描述

小明经过几天的努力,终于做出了答案!如下:

(5012-4987)*36=900

用计算机搜索后,发现还有另外一个解,本题的任务就是:请你算出这另外的一个解。
注意:输出格式需要与示例严格一致;括号及运算符号不要用中文输入法;整个算式中不能包含空格。

#include<iostream>
using namespace std;intmain(){/*
  int a,b,c,d,x,y,z,w,m,n;
  for(a=6;a<10;a++){
    for(b=0;b<10;b++){
      for(c=0;c<10;c++){
        for(d=0;d<10;d++){
          for(x=1;x<10;x++){
            for(y=0;y<10;y++){
              for(z=0;z<10;z++){
                for(w=0;w<10;w++){
                  for(m=1;m<10;m++){
                    for(n=0;n<10;n++){
                      if(a!=b && a!=c && a!=d && a!=x && a!=y && a!=z && a!=w && a!=m && a!=n 
                      && b!=c && b!=d && b!=x && b!=y && b!=z && b!=w && b!=m && b!=n 
                      && c!=d && c!=x && c!=y && c!=z && c!=w && c!=m && c!=n 
                      && d!=x && d!=y && d!=z && d!=w && d!=m && d!=n 
                      && x!=y && x!=z && x!=w && x!=m && x!=n 
                      && y!=z && y!=w && y!=m && y!=n 
                      && z!=w && z!=m && z!=n 
                      && w!=m && w!=n 
                      && m!=n){
                        if((a*1000+b*100+c*10+d-(x*1000+y*100+z*10+w))*(m*10+n)==900) {
                          cout <<'('<<a<<b<<c<<d<<'-'<<x<<y<<z<<w<<')'<<"*"<<m<<n<<"="<<"900";
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  */
   cout <<'('<<"6048"<<'-'<<"5973"<<')'<<"*"<<"12"<<"="<<"900";return0;}

09 斐波那契数列最大公约数

题目描述
斐波那契数列满足F1=F2=1,从F3开始有Fn=Fn-1+Fn-2。
请你计算GCD(F2020,F520),其中GCD(A,B)表示A和B的最大公约数。
解析
斐波那契数列最大公约数定理:gcd(Fn,Fm)=F(gcd(n,m))

#include<stdio.h>intGCD(int a,int b){if(a % b !=0)returnGCD(b, a % b);elsereturn b;}intfib(int n){int i, s1, s2;if(n <1)return-1;if(n ==1|| n ==2)return1;
    s1 =1;
    s2 =1;for(i =3; i <= n; i++){
        s2 = s1 + s2;//辗转相加法
        s1 = s2 - s1;//记录前一项}return s2;}intmain(){printf("%d",fib(GCD(2020,520)));return0;}

10 最大距离

在这里插入图片描述
输出描述
输出一行包含一个整数,表示答案。
输入输出样例
示例
输入

594247

输出

9
#include<stdio.h>#include<stdlib.h>intmain(int argc,char*argv[]){int i,j,n1,n[1000],sum=0,max=-1;scanf("%d",&n1);for(i=0;i<n1;i++){scanf("%d",&n[i]);}for(i=0;i<n1-1;i++){for(j=i+1;j<n1;j++){
      sum=abs(i-j)+abs(n[i]-n[j]);if(sum>max)max=sum;}}printf("%d",max);return0;}
标签: 蓝桥杯 算法 图论

本文转载自: https://blog.csdn.net/weixin_74774974/article/details/133117534
版权归原作者 暗托涅瓦 所有, 如有侵权,请联系我们删除。

“蓝桥杯 题库 简单 每日十题 day7”的评论:

还没有评论