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

用天梯赛打开暑假生活第六天

时间:2023-06-25 15:14:12浏览次数:44  
标签:std 输出 题目 天梯 int a1 第六天 flag 暑假

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

开始时间2023-06-25 10:34:16

结束时间2023-06-25 14:48:42

前言:今天高考出成绩了,有什么想问的可以随时咨询我!

L1-025 正整数A+B

一、题目编号及题目说明

二、程序功能测试及说明

  给两个输入,如果都是整数输出它们的和,若出现一个非整数该位置为?结果也为?。

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

  声明字符串a,b,整型a1,b1,设置标志物flag和nb分别置为1,做循环处理a,若字符串中字符出现0~9之外的东西将标志物flag置为0并结束循环,将该字符转为整型累加如a1,同理对b进行操作,需要格外注意测试点3,测试点三为123 123 auioedfhawduifn,这种情况不做处理会出现123+123=246,但结果应该是123+?=?,所以针对字符串b的操作吸收时应该用getline函数,当然循环次数要多设置一次以判断后一个数。当两个标志物都是1,这时没有?按照标准求和即可,当有一个标志物为0对应位置应该置为?,其他情况?+?=?。

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string a,b;
    cin>>a;
    getline(cin,b);
    int a1=0,b1=0;
    int flag=1,nb=1,t=1;
    for (int i = a.length()-1; i>=0; i--)
    {
        if (a[i] < '0' || a[i] > '9')
        {
            flag = 0;
            break;
        }
        else
        {
            a1 += t * (a[i] - '0');
            t *= 10;
        }
    }
    if (a1 > 1000 || a1 < 1)
    {
        flag = 0;
    }
    t = 1;
    for (int i = b.length()-1; i>=1; i--)
    {
        if (b[i] < '0' || b[i] > '9')
        {
            nb = 0;
            break;
        }
        else
        {
            b1 += t * (b[i] - '0');
            t *= 10;
        }
    }
    if (b1 > 1000 || b1 < 1)
    {
        nb = 0;
    }
    //printf("%d %d\n",a1,b1);
    if (flag == 1 && nb == 1)
    {
        printf("%d + %d = %d", a1, b1, a1 + b1);
    }
    else if (flag==0&&nb==1)
    {
        printf("? + %d = ?", b1);
    }
    else if (flag==1&&nb==0)
    {
        printf("%d + ? = ?", a1);
    }
    else
    {
        printf("? + ? = ?");
    }
    printf("\n");
    return 0;
}

 五、题目评分

 L1-026 I Love GPLT

一、题目编号及题目说明

二、程序功能测试及说明

  功能是隔行输出一句话。

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

  用printf输出话就行。

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    printf("I\n \nL\no\nv\ne\n \nG\nP\nL\nT");
    return 0;
}

五、题目评分

 L1-027 出租

一、题目编号及题目说明

二、程序功能测试及说明

  由所给电话号码给出两个字符串。

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

  首先定义一个函数,功能是从大到小排序并剔除重复数字,并将该数组赋值。主函数内以字符串的形式吸收电话号码,用字符串a吸收由函数操作的字符串,并按格式输出,最后输出换行。接着分别处理每一个字符串中的字符,从第一个字符开始若与字符串a某字符相同输出该字符的下标。最后输出换行。

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
std::string sortAndRemoveDuplicates(const std::string& input)
{
    std::vector<char> chars(input.begin(), input.end());

    std::sort(chars.rbegin(), chars.rend()); // 从大到小排序

    auto last = std::unique(chars.begin(), chars.end()); // 去重
    chars.erase(last, chars.end());

    std::string result(chars.begin(), chars.end()); // 转换回字符串

    return result;
}
int main()
{
    string s;
    cin>>s;
    int i=0,b[11];
    string a = sortAndRemoveDuplicates(s);
    cout <<"int[] arr = new int[]{";
    for(i=0;i<a.length();i++)
    {
        printf("%c",a[i]);
        if(i<a.length()-1)
        {
            printf(",");
        }
    }cout <<"};"<<endl;
    cout <<"int[] index = new int[]{";
    int j=0;
     for(i=0;i<s.length();i++)
    {
        for(j=0;j<a.length();j++)
        {
            if(s[i]==a[j])
            {
                printf("%d",j);
                if(i<s.length()-1)
                {
                    printf(",");
                }
            }
        }
    }cout <<"};"<<endl;
    return 0;
}

五、题目评分

 L1-028 判断素数

一、题目编号及题目说明

二、程序功能测试及说明

  第一行给出一个整数,以该整数为个数输出几个整数并进行判断,若是素数输出yes,反之输出No。

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

  以n吸收所给整数,以n为循环上限做循环,内层循环以a吸收一个整数,定义一个0值的标志物flag,若a小于2将标志物置为1,若a不为素数将标志物置为1,判断完毕后,当标志物为1输出No,其他情况输出Yes。循环结束return 0.

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        int a;
        cin>>a;
        int flag=0;
        if(a<2)
        {
            flag=1;
        }
        for(int j=2;j<sqrt(a);j++)
        {
            if(a%j==0)
            {
                flag=1;
                break;
            }
        }
        if(flag==1)
        {
            printf("No\n");
        }
        else printf("Yes\n");
    }
    return 0;
}

五、题目评分

L1-029 是不是太胖了

一、题目编号及题目说明

二、程序功能测试及说明

  由所给数字进行相应操作,输出标准体重。

 

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

  首先吸收该数n,声明一个浮点数a,用n进行相关运算并将结果赋值给a,最后以.1的形式输出。

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    float a;
    a=(n-100)*0.9*2;
    printf("%.1f\n",a);
}

五、题目评分

 L1-030 一帮一

一、题目编号及题目说明

二、程序功能测试及说明

  用于实现一个配对的功能。用户输入一些学生信息,包括性别和姓名,在一对一的基础上进行配对,并输出配对结果。

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

  1. 首先,通过 #include <bits/stdc++.h> 引入了标准C++库的所有头文件。
  2. 接下来,定义了一个名为 stu 的结构体,用于存储学生的性别、身份标识和姓名等信息。
  3. 在 main 函数中,首先声明了变量 n 存储学生数量,以及 s 数组用于存储学生信息。
  4. 然后,用户输入学生数量 n
  5. 使用 for 循环遍历 n 次,分别读取学生的性别和姓名,并将身份标识设置为初始值0。
  6. 接下来,使用另一个 for 循环进行配对操作。循环从第一个学生开始,输出其姓名并将身份标识设置为1。然后,从最后一个学生开始向前遍历直到达到数组的中间位置,找到与当前学生性别不同且未配对的学生,并输出其姓名。然后将该学生的身份标识设置为1,并跳出内层循环。
  7. 最后,程序返回0,结束执行。

四、程序源代码

#include<bits/stdc++.h>
using namespace std;
struct stu
{
    int sex, iden;//性别、访问标识
    char str[9];//姓名
};
int main()
{
    int n;
    stu s[51];
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> s[i].sex >> s[i].str;
        s[i].iden = 0;
    }
    for (int j = 0; j < n / 2; j++)
    {
        cout << s[j].str << " ";
        s[j].iden = 1;
        for (int k = n - 1; k >= n / 2; k--)
        {
            if (s[k].iden == 0 && s[k].sex != s[j].sex)
            {
                cout << s[k].str << endl;
                s[k].iden = 1;
                break;
            }
        }
    }
    return 0;
}

五、题目评分

 总结:速看石家庄铁道大学吧,今年的招生减章,试问今年400分能上铁大否?

标签:std,输出,题目,天梯,int,a1,第六天,flag,暑假
From: https://www.cnblogs.com/R-f-12/p/17502933.html

相关文章

  • 大二暑假第一周总结
    这周就开始了小学期,这周的小学期的是算法与数据结构综合训练,总共是分为两个阶段,第一阶段是基础算法训练,第二阶段是综合算法训练。第一阶段是基础算法演示,验收的时候非常顺利,同时参与了评优,成功评上。第二阶段我选的是导师双选系统,并且也在周五就已经完成,然后后面就是测试自己的......
  • 用天梯赛打开暑假生活第四天
    从坐牢到入门的程序设计(4)开始时间2023-06-20 19:28:32结束时间2023-06-22 23:15:18前言:校青协不要办活动了!L1-017到底有多二一、题目编号及题目说明 二、程序功能测试及说明给一个数并输出它的犯二程度,保留小数点后两位。三、程序设计思路及结构说明用字符......
  • 用天梯赛打开暑假生活第三天
    从坐牢到入门的程序设计(3)开始时间2023-06-19 16:12:04结束时间2023-06-19 22:05:28前言:哎嘿嘿嘿,大家今天都回家了吧,都在干嘛呢?是不是在想九栋呢,啊哈哈哈。L1-009N个数求和一、题目要求 二、程序功能测试及说明第一行输入一个数,由给定的数字知道一共有多少个分数,分......
  • 用天梯赛打开暑假生活第二天
    从坐牢到入门的程序设计(2)开始时间2023-06-18 20:00:07结束时间2023-06-18 23:18:06前言:还说什么前言,卷吧。L1-006连续因子一、题目要求二、程序功能测试及说明首先吸收一个数字,然后输出最长连续因子的个数,其次输出最小 连续因子序列。 三、程序设计思路及结构......
  • 代码随想录算法训练营第六天| 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数
    454.四数相加II1,难点:1,多个数组之间,会有重复出现的数组,如果单用multiset也是会出错的2,如果用mutliset,在使用distance找出来equal_range的值的时候,也是会出现奇怪的错误的2,正确思路1,把重复出现的节点,次数存放到map种,然后进行遍历3,代码:1intfourSumCount(v......
  • 暑假,多么适合实习的时间
    本文首发自公粽hao「林行学长」,欢迎来撩,免费领取20个求职工具资源包。了解校招、分享校招知识的学长来了!马上就要暑假了,想必不少同学有了暑期好好玩耍的准备。但更多的可能是为考研、秋招、实习做准备。作为经历过秋招的人,学长真的觉得利用暑期进行实习是一个为自己简历添彩的经历......
  • 和娃一起过暑假:一次4000+km自驾的尝试
    娃开始上幼儿园以后,我们全家就想着每年和娃一起出远门过寒暑假,反正,我们的工作只要有电有网就成。但过去两年,总是因为疫情的原因不方便,今年终于成行。7月31日出门,8月17日回到杭州家里,先上个驾驶记录的图,4039km。下面开始流水账+贴图。第一天就从杭州干到洛阳,单天1000+km挑战达成,全......
  • ACM暑假训练 中石油oj 3737: 礼物(矩阵快速幂)
    3737:礼物时间限制:5Sec  内存限制:512MB提交:46  解决:12[提交][状态][讨论版]题目描述热情好客的小猴请森林中的朋友们吃饭,他的朋友被编号为1∼N,每个到来的朋友都会带给他一些礼物:香蕉。其中,第一个朋友会带给他1个香蕉,之后,每一个朋友到来以后,都会带给他之前所有......
  • 代码随想录算法训练营第六天|哈希表理论基础、242.有效的字母异位词两个数组的交集、2
    242.有效的字母异位词力扣题目链接(opensnewwindow)给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。示例 1:输入:s="anagram",t="nagaram"输出:true示例2:输入:s="rat",t="car"输出:false说明: 你可以假设字符串只包含小写字母。思路:......
  • C语言第六天
    1、函数参数顺序点1、语句结束时值改变2、&&||,?:等运算符、3、函数参数传递时的求值顺序intk=1;func(k,k++);那K+1,K是等于什么呢,函数参数的运算应该是从右到左,所以K++的K应该是1,先输出后运算,而K应该是2inti=0;printf(“%d,%d,%d”,i++,i......