首页 > 其他分享 >用天梯赛打开暑假生活的第十五天

用天梯赛打开暑假生活的第十五天

时间:2023-07-28 12:55:54浏览次数:43  
标签:输出 题目 天梯 int a1 a2 暑假 printf 第十五天

从坐牢到入门的程序设计(15)

开始时间2023-07-28 10:01:08

结束时间2023-07-28 12:41:42

前言:你怎么知道我边逛新生群边刷题(我还洗了个澡)?

 L1-079 天梯赛的善良

一、题目编号及题目说明

二、程序功能测试及说明

这段代码是使用 C++ 编写的一个简单程序,用于统计输入的一组数字中的最小值、最小值出现的次数、最大值以及最大值出现的次数。

三、程序设计思路及结构说明

  1. 首先,从标准输入中读取一个整数 n,表示接下来要输入的数字数量。
  2. 声明一些变量,包括 i 和 j 用于循环计数,max 和 min 用于存储最大值和最小值,count 和 nb 用于存储最大值和最小值的出现次数。
  3. 使用一个循环 for 来遍历输入的数字。
  4. 在循环中,首先从输入中读取一个数字并将其存储在变量 a 中。
  5. 如果 a 等于当前的最大值 max,则将 count 加一,表示最大值出现的次数增加。
  6. 如果 a 等于当前的最小值 min,则将 nb 加一,表示最小值出现的次数增加。
  7. 如果 a 大于当前的最大值 max,则更新 max 的值为 a,并重置 count 为 1。
  8. 如果 a 小于当前的最小值 min,则更新 min 的值为 a,并重置 nb 为 1。
  9. 循环结束后,通过 printf 函数按照指定格式输出最小值和最小值出现的次数,然后输出最大值和最大值出现的次数。
  10. 最后返回 0,表示程序执行完毕。

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int i=0,j=0;
    int max=0,count=0,min=1000000,nb=0;
    int a;
    for(i=0;i<n;i++)
    {
        cin>>a;
        if(a==max)
        {
            count++;
        }
        if(a==min)
        {
            nb++;
        }
        if(a>max)
        {
            max=a;
            count=1;
        }
        if(a<min)
        {
            min=a;
            nb=1;
        }
    }
    printf("%d %d\n",min,nb);
    printf("%d %d",max,count);
    return 0;
}

五、题目评分

 L1-080 乘法口诀数列

一、题目编号及题目说明

二、程序功能测试及说明

该程序的功能是根据给定的初始两个数字以及生成序列的长度,按照一定的规则生成一个特殊的数字序列,并将序列输出。

三、程序设计思路及结构说明

  1. 首先,从标准输入中读取三个整数 ab 和 n,分别表示序列的初始两个数字和要生成序列的长度。
  2. 声明一些变量,包括 len 用于记录当前序列的长度,c 是一个数组用于存储生成的数字序列,i 和 tmp 用于循环计数和临时变量。
  3. 将输入的初始两个数字 a 和 b 存储到数组 c 的前两个位置。
  4. 使用 printf 函数输出第一个数字 a
  5. 使用一个循环 while 来生成剩下的数字序列,直到序列的长度达到 n
  6. 在循环中,首先计算当前位置的两个数字相乘得到的结果,并将结果存储到临时变量 tmp 中。
  7. 如果 tmp 小于 10,则将 tmp 直接存储到数组 c 的下一个位置,并将 i 加一。
  8. 否则,将 tmp 的十位数存储到数组 c 的下一个位置,个位数存储到数组 c 的下下个位置,并将 i 加二。
  9. 使用 printf 函数输出当前位置的数字。
  10. 每次循环结束,将 len 加一。
  11. 循环结束后,返回 0,表示程序执行完毕。

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
     int a, b, n;
    int len = 1, c[2005];
    int i = 2, tmp=0;
    cin>>a>>b>>n;
    c[0] = a;
    c[1] = b;
    printf("%d", a);
    while (len < n){
        tmp = c[len] * c[len-1];
        if (tmp < 10){
            c[i++] = tmp;
        }
       else {
            c[i++] = tmp / 10;
            c[i++] = tmp % 10;
        }
        printf(" %d", c[len]);
        len++;
    }
    
    return 0;
}

五、题目评分

 L1-081 今天我要赢

一、题目编号及题目说明

二、程序功能测试及说明

该程序的功能是输出一句激励的话语以及一个指定的日期信息。

三、程序设计思路及结构说明

  1. 使用 printf 函数输出字符串 "I'm gonna win! Today!",并在末尾添加换行符 \n
  2. 使用 printf 函数输出日期信息 "2022-04-23",并在末尾添加换行符 \n

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    printf("I'm gonna win! Today!\n2022-04-23\n");
}

五、题目评分

 L1-082 种钻石

一、题目编号及题目说明

 

二、程序功能测试及说明

该程序的功能是计算两个浮点数的商,并向下取整输出结果的整数部分。

三、程序设计思路及结构说明

  1. 声明两个浮点数变量 n 和 v,用于存储输入的数值。
  2. 使用 cin 从标准输入中读取两个浮点数,并将其分别存储到变量 n 和 v 中。
  3. 声明一个浮点数变量 t,用于存储 n 除以 v 的结果,并通过 floor 函数向下取整。
  4. 使用 printf 函数格式化输出 t 的整数部分,并四舍五入到最接近的整数。

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    float n,v;
    cin>>n>>v;
    float t=floor(n/v);
    printf("%.0f",t);
}

五、题目评分

 L1-083 谁能进图书馆

一、题目编号及题目说明

二、程序功能测试及说明

该程序的功能是对输入的四个整数进行条件判断,并根据不同的情况输出对应的结果。

三、程序设计思路及结构说明

程序逻辑如下:

  1. 声明四个整数变量 jinrupeitonga1 和 a2,用于存储输入的整数。
  2. 使用 scanf 函数从标准输入中读取四个整数,并将其分别存储到变量 jinrupeitonga1 和 a2 中。
  3. 根据不同的条件判断,使用 printf 函数输出不同的结果。

具体的条件判断逻辑如下:

  1. 如果 a1 等于 a2
    • 如果 a1 小于 jinru,则输出格式化字符串 "%d-N %d-N\nzhang da zai lai ba",其中 %d 分别代表 a1 和 a2 的值。
    • 否则,输出格式化字符串 "%d-Y %d-Y\nhuan ying ru guan"。
  2. 如果 a1 大于 a2
    • 如果 a2 大于等于 jinru,则输出格式化字符串 "%d-Y %d-Y\nhuan ying ru guan"。
    • 如果 a2 小于 jinru 且 a1 大于等于 peitong,则输出格式化字符串 "%d-Y %d-Y\nqing 1 zhao gu hao 2"。
    • 如果 a1 大于等于 jinru 且 a1 小于 peitong,则输出格式化字符串 "%d-Y %d-N\n1: huan ying ru guan"。
    • 否则,输出格式化字符串 "%d-N %d-N\nzhang da zai lai ba"。
  3. 如果 a1 小于 a2
    • 如果 a1 大于等于 jinru,则输出格式化字符串 "%d-Y %d-Y\nhuan ying ru guan"。
    • 如果 a1 小于 jinru 且 a2 大于等于 peitong,则输出格式化字符串 "%d-Y %d-Y\nqing 2 zhao gu hao 1"。
    • 如果 a2 大于等于 jinru 且 a2 小于 peitong,则输出格式化字符串 "%d-N %d-Y\n2: huan ying ru guan"。
    • 否则,输出格式化字符串 "%d-N %d-N\nzhang da zai lai ba"。

四、程序源代码

#include <stdio.h>
int main()
{
    int jinru,peitong,a1,a2;
    scanf("%d %d %d %d",&jinru,&peitong,&a1,&a2);
    if(a1==a2)
    {
        if(a1<jinru)
            printf("%d-N %d-N\nzhang da zai lai ba",a1,a2);
        else
            printf("%d-Y %d-Y\nhuan ying ru guan",a1,a2);
    }
    else if(a1>a2)
    {
        if(a2>=jinru)
            printf("%d-Y %d-Y\nhuan ying ru guan",a1,a2);
        else if(a2<jinru&&a1>=peitong)
            printf("%d-Y %d-Y\nqing 1 zhao gu hao 2",a1,a2);
        else if(a1>=jinru&&a1<peitong)
            printf("%d-Y %d-N\n1: huan ying ru guan",a1,a2);
        else
            printf("%d-N %d-N\nzhang da zai lai ba",a1,a2);
    }
    else
    {
        if(a1>=jinru)
            printf("%d-Y %d-Y\nhuan ying ru guan",a1,a2);
        else if(a1<jinru&&a2>=peitong)
            printf("%d-Y %d-Y\nqing 2 zhao gu hao 1",a1,a2);
        else if(a2>=jinru&&a2<peitong)
            printf("%d-N %d-Y\n2: huan ying ru guan",a1,a2);
        else
            printf("%d-N %d-N\nzhang da zai lai ba",a1,a2);
    }
    return 0;
}

五、题目评分

 L1-084 拯救外星人

一、题目编号及题目说明

二、程序功能测试及说明

该程序的功能是计算输入的两个整数之和,并计算从 1 到和的阶乘,并输出结果。

三、程序设计思路及结构说明

  1. 声明三个整数变量 ab 和 c,用于存储输入的整数。
  2. 使用 cin 输入流从标准输入中读取两个整数,并分别将其存储到变量 a 和 b 中。
  3. 声明并初始化变量 i 为 0,用于控制循环。
  4. 声明并初始化变量 sum 为 1,用于存储阶乘的结果。
  5. 计算 c 的值,即 a 和 b 的和。
  6. 使用 for 循环从 1 到 c 进行遍历。
    • 在每次循环中,将当前循环变量 i 乘以 sum 并将结果赋值给 sum
  7. 使用 printf 函数输出变量 sum 的值。

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a,b,c;
    cin>>a>>b;
    int i=0;
    int sum=1;
    c=a+b;
    for(i=1;i<=c;i++)
    {
        sum*=i;
    }
    printf("%d\n",sum);
    return 0;
}

五、题目评分

 L1-085 试试手气

一、题目编号及题目说明

二、程序功能测试及说明

该程序的功能是模拟了一种投骰子的游戏。根据输入的骰子选点情况和投骰子次数,输出最后一次投骰子得到的点数序列。

 

三、程序设计思路及结构说明

  1. 声明一个二维整型数组 touzi,用于表示一个 6x6 的图,其中第 0 列和第 0 行不考虑。
  2. 声明一个一维整型数组 res,用于记录最后一次投骰子的结果。
  3. 使用嵌套的 for 循环,从 1 到 6 进行遍历。
    • 在每次循环中,使用 scanf 函数输入一个整数,并将其存储到变量 num 中。
    • 将第 num 列的第 i 个元素标记为 1,表示第 i 个骰子选过了点数 num
  4. 使用 scanf 函数输入一个整数 n,表示投骰子的次数。
  5. 使用嵌套的 for 循环,进行 n 次投骰子操作。
    • 在每次循环中,使用嵌套的 for 循环,从 1 到 6 进行遍历。
      • 在内层的嵌套循环中,从 6 到 1 逆序遍历。
        • 如果当前位置的元素为 0,表示该点数还未选择,则将其标记为 1,并将该点数存储到数组 res 的第 j-1 个元素中(因为数组索引从 0 开始)。
        • 然后跳出内层的循环。
  6. 使用循环遍历数组 res,并使用 printf 函数按照要求输出结果。

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int touzi[7][7]={0}; //创建6*6的图,第0列和第0行不考虑
    int res[6]; //记录最后一次投骰子的结果
    for(int i=1;i<=6;i++)
    {
        int num;
        scanf("%d",&num);
        touzi[num][i]=1; //第几列就是第几个骰子,每列记录各点数状态,选过的点数标记1
    }
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        for(int j=1;j<=6;j++)
        {
            for(int k=6;k>=1;k--)
            {
                if(touzi[k][j]==0)
                {
                    touzi[k][j]=1;
                    res[j-1]=k;
                    break;
                }
            }
        }
    }
    for(int k=0;k<6;k++)
    {
        printf("%d",res[k]);
        if(k!=5)
            printf(" ");
    }
    return 0;

}

五、题目评分

 L1-086 斯德哥尔摩火车上的题

一、题目编号及题目说明

二、程序功能测试及说明

该程序的功能是比较两个字符串s和s1,将满足条件的字符组合成新的字符串,并输出结果。具体的处理逻辑是判断相邻字符的奇偶性是否相同,如果相同,则选择较大的字符。最后按照要求输出结果。

三、程序设计思路及结构说明

  1. 声明了字符串变量s和s1,用来存储输入的两个字符串。
  2. 声明了字符串变量ss和ss1,用来存储处理后的结果。
  3. 使用cin输入读取字符串s和s1。
  4. 使用for循环遍历字符串s和s1,从索引1开始。
    • 在每次循环中,判断当前字符和前一个字符的奇偶性是否相同。
      • 如果相同,则将较大的字符追加到字符串ss或ss1中。
  5. 使用if语句判断ss和ss1是否相等。
    • 如果相等,则输出ss。
    • 否则,分行输出ss和ss1。

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
int main(){
    string s,s1;
    string ss="",ss1="";
    cin>>s>>s1;
    for(int i=1;i<s.size();i++){
       if (s[i] % 2 == s[i-1] % 2) {
            ss += max(s[i], s[i-1]);
  }
    }
    for(int i=1;i<s1.size();i++){
       if (s1[i] % 2 == s1[i-1] % 2) {
            ss1 += max(s1[i], s1[i-1]);
    }
    }
    if(ss==ss1)
        cout<<ss;
    else
        cout<<ss<<endl<<ss1;
    
}

五、题目评分

 总结:明天结束L1!

每日一mo:她说过要嫁天下第一,我便让你做那天下第一......

标签:输出,题目,天梯,int,a1,a2,暑假,printf,第十五天
From: https://www.cnblogs.com/R-f-12/p/17587301.html

相关文章

  • 暑假培训
    1.消失的数字CintmissingNumber(int*nums,intnumsSize){intsum=0;for(inti=0;i<numsSize+1;i++){sum+=i;}for(inti=0;i<numsSize;i++){sum-=nums[i];}returnsum;}2.移除元素pythonclassSolution(object):defremoveElement(self,nums,val):&q......
  • HDU 暑假多校 2023 第四场
    目录写在前面731773237314732173227318写在最后写在前面补题地址:https://acm.hdu.edu.cn/listproblem.php?vol=64,题号7312~7323。我是飞舞。小子们哪,你们要自守,远避偶像。Dearchildren,keepyourselvesfromidols.——约翰一书以下按照个人向难度排序。7317签到,特......
  • 23年暑假大一第一周编程练习
    23年暑假大一第一周编程练习1.消失的数字:deffind_missing_number(nums):#计算完整数组的和complete_sum=sum(range(1,len(nums)+2))#range包:[1,7)#print(complete_sum)#1+2+3+4+5+6=21#计算数组中所有数的和array_sum=sum(nums)......
  • 暑假专题训练 dp 2023-7-26
    L.HamiltonianWall算法:dp做法:由于要一笔将所有黑块都划出来。所以我们状态转移方程应尽可能从左上角或者右下角的黑方块转移过来。$$f[i,j]=f[i,j-1]+1\(wall[i,j-1]=B,w[i,j]=B)$$$$f[i][j]=f[i+1][j-1]+2\(i==1,wall[i+1][j-1]==B,wal......
  • HDU 暑假多校 2023 第三场
    目录写在前面731073047311写在最后写在前面补题地址:https://acm.hdu.edu.cn/listproblem.php?vol=64,题号7300~7311。坐牢场。老东西怎么还在圈里混啊(恼以下按个人向难度排序,标题为题库中题号。7310模拟这个过程。缩放至\(Z\%\)即将原来的某个像素覆盖的范围\((x-1,y-1......
  • 暑假练习1 7.26
    胡乱刷题题号代码1842C代码11838C代码21569C代码31547E代码41551C代码51542B代码6题1思路简单dp,设状态\(f_i\)为前\(i\)个位置最多能删除元素的个数,对于位置\(i\),状态为\(f_i=max(f_{i-1},f_{j-1}+i-j+1),a_j=a_i\),对于一个数\(x\),维护\(m......
  • 2023 暑假集训模拟赛 Day 3
    比赛题目共\(2\)套,其中初赛题\(1\)套,复赛\(2\)题。比赛时间:\(10:50-12:00a.m\)。Part0x01过程-Process\(8:30\,a.m.\)做初赛题目;\(10:40\,a.m.\)拿到题目;\(10:41\,a.m.\)先写\(\text{T1}\),发现有点像分类讨论;\(10:50\,a.m.\)发现\(\text{T1}\)不需要那......
  • 23暑假友谊赛No.2
    23暑假友谊赛No.2A-雨_23暑假友谊赛No.2(nowcoder.com)#include<bits/stdc++.h>usingnamespacestd;signedmain(){ios::sync_with_stdio(false);cin.tie(nullptr);inta,b,c,d,x;cin>>a>>b>>c>>d>>x;cout......
  • 23暑假友谊赛No.2
    A-雨#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongvoidsolve(){vector<int>a(4);intx;for(auto&i:a)cin>>i;cin>>x;for(autoi:a)cout<<max(x......
  • 23暑假友谊赛No.2
    23暑假友谊赛No.2雨#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong//#defineint__int128typedefpair<int,int>PII;typedefpair<string,int>PSI;typedefpair<string,string>PSS;constintN=50+5,INF=0x3f3f3f3f,Mod=1......