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

发布时间 2023-06-28 21:38:10作者: 寒心小呆

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

开始时间2023-06-28 19:02:04

结束时间2023-06-28 21:24:22

前言:今天这一篇也不会发在朋友圈里,一是怕她看到(或许她不会看),二是怕你们又笑话我因为某个女孩伤脑筋......

 L1-034 点赞

一、题目编号及题目说明

二、程序功能测试及说明

  统计输入中的数列,并找到出现次数最多的数字及其出现次数。

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

  1. 获取用户输入的整数n,表示接下来要输入的数列个数。
  2. 定义一个大小为1001的整型数组a,并将所有元素初始化为0,用于统计数字出现的次数。
  3. 使用循环遍历输入的数列:
    • 获取每个数列的长度b。
    • 使用循环读取数列中的数字c,并将数组a中对应的元素加1,表示数字c在数列中出现了一次。
  4. 初始化变量max为数组a的第一个元素,变量t用于记录出现次数最多的数字。
  5. 遍历数组a,找到出现次数最多的数字及其出现次数:
    • 如果当前元素的值大于等于max,则更新max为当前元素的值,t为当前索引i。
  6. 输出找到的出现次数最多的数字及其出现次数,即t和max。
  7. 程序结束。

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int i=0;
    int a[1001]={0};
    for(i=0;i<n;i++)
    {
        int b=0;
        cin>>b;
        int j=0;
        for(j=0;j<b;j++)
        {
            int c;
            cin>>c;
            //cout<<c<<endl;测试c
            a[c]++;
            //printf("%d\n",a[c]);测试加一
        }
    }
    int max=a[0];
    int t=0;
    for(i=0;i<1001;i++)
    {
        if(a[i]>=max)
        {
            max=a[i];
            t=i;
        }
    }
    //printf("%d",max);测试max
    
    printf("%d %d\n",t,max);
    return 0;
}

五、题目评分

 L1-035 情人节

一、题目编号及题目说明

二、程序功能测试及说明

  根据输入的一系列字符串,判断有多少人邀请Momo共进晚餐,并给出不同情况下的输出。

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

  1. 声明一个字符串向量 ve 和一个字符串 s。
  2. 使用 while 循环读取用户输入的字符串 s,直到遇到"."为止。
  3. 将每个非"."的字符串 s 加入 ve 中。
  4. 获取 ve 的长度 len。
  5. 根据 len 的值进行输出判断:
    • 如果 len 小于 2,说明没有人邀请 Momo,输出 "Momo... No one is for you ..."。
    • 如果 len 小于 14,输出 ve[1] + " is the only one for you...",其中 ve[1] 表示邀请 Momo 的第二个人(从 0 开始计数)。
    • 如果 len 大于等于 14,输出 ve[1] + " and " + ve[13] + " are inviting you to dinner...",表示邀请 Momo 的第二个人和第十四个人共进晚餐。
  6. 程序结束。

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
int main(){
    vector<string>ve;
    string s;
    while(cin>>s){
        if(s==".") break;
        ve.push_back(s);
    }
    int len=ve.size();
    if(len<2)
        cout<<"Momo... No one is for you ..."<<endl;
    else if(len<14)
        cout<<ve[1]<<" is the only one for you..."<<endl;
    else
        cout<<ve[1]<<" and "<<ve[13]<<" are inviting you to dinner..."<<endl;
    
    return 0;
}

 五、题目评分

 L1-036 A乘以B

一、题目编号及题目说明

二、程序功能测试及说明

  读取两个整数 a 和 b,然后输出它们的乘积。

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

  1. 声明两个整数变量 a 和 b。
  2. 使用 cin 语句分别读取两个整数 a 和 b 的值。
  3. 使用 printf 函数将 a 和 b 的乘积打印输出,并换行。
  4. 返回 0,表示程序执行完毕。

四、程序源代码

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

 五、题目评分

 L1-037 A除以B

一、题目编号及题目说明

二、程序功能测试及说明

  读取两个浮点数 a 和 b,并根据 b 的值进行不同的输出。

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

  1. 声明两个浮点数变量 a 和 b。
  2. 使用 cin 语句分别读取两个浮点数 a 和 b 的值。
  3. 使用 if-else 分支结构判断 b 的值所处的情况:
    • 如果 b 等于 0,输出错误信息 "a/b=Error",其中 a 和 b 的值保留 0 位小数。
    • 如果 b 小于 0,输出表达式结果 "a/(b)=a/b",其中 a、b 和 a/b 的值保留 2 位小数。
    • 如果以上条件都不满足,即 b 大于 0,输出表达式结果 "a/b=a/b",其中 a、b 和 a/b 的值保留 2 位小数。
  4. 程序结束。

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    float a,b;
    cin>>a>>b;
    if(b==0)
    {
        printf("%.0f/%.0f=Error\n",a,b);
    }
    else if(b<0)
    {
        printf("%.0f/(%.0f)=%.2f\n",a,b,a/b);
    }
    else{
        printf("%.0f/%.0f=%.2f\n",a,b,a/b);
    }
}

 五、题目评分

 L1-038 新世界

一、题目编号及题目说明

 

二、程序功能测试及说明

  在控制台打印输出两行字符串:"Hello World" 和 "Hello New World"。

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

  1. 使用 printf 函数输出字符串 "Hello World",并换行。
  2. 使用 printf 函数输出字符串 "Hello New World",并换行。
  3. 返回 0,表示程序执行完毕。

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    printf("Hello World\nHello New World\n");
    return 0;
}

五、题目评分

总结:今天在迎新群里差点又情绪失控了,是因为某个人的某些句话,还是某个人做了些某些事呢?我刚想举起键盘转念一想还是放下了,我开始看他的信息,注意他的名字,很熟悉很熟悉,没错就是我曾经踢出群的一个男生,当时甚至没有犹豫,因为是她邀进来的。我后来问自己这个感觉收悉么,太熟悉了,这得是第几次因为某些人而意气用事。当我看出这个人的名字,我又一次下定举起键盘的决心,甚至构建好言语攻击他的体系,还是因为她。反复确定这个攻击逻辑没问题之后,我还是把键盘放下了,好想哭,有些委屈罢了。只是反复记住那个男孩的名字,看着他继续大放厥词,我关闭了手机,打开电脑,逃到这里。我不想让他认出我,也不想让她看到,让群友的消息淹没我不经意间的话语。你会敌视你很熟悉的女孩口中的男孩,你也会恐慌那个女孩身边的男孩,但我离认识这个女孩还不到一年啊,真的,还不到一年......甚至还谈不上熟悉,还谈不上更进一步只是害怕罢了。明明已经这样发生了很多事,为何我还是会敌视,会惶恐,会委屈,就好像没有发生过一样,最终我还是会记得他们的名字还有她们的名字随着思绪飘得好远好远......

每日一mo:我有很多朋友,但又经常一个人......