LeetCode刷题计划---day2

07

在这里插入图片描述

#include <iostream>
#include <iomanip> // 头文件用于控制输出格式
using namespace std;

int main() {
    const int n = 5; // 等级个数
    double grade[n] = {4.0, 3.0, 2.0, 1.0, 0.0}; // 每个等级对应的分数

    string input;
    while (getline(cin, input)) { // 读入一行输入数据
        double total_grade = 0; // 总分数
        int total_courses = 0; // 总课程数
        bool invalid_input = false; // 是否有非法输入
        int len = input.length();
        for (int i = 0; i < len; i += 2) { // 每两个字符为一门课程
            char c = input[i];
            int idx;
            if(c == 'A')
                idx=0;
            else if (c == 'B')
                idx=1;
            else if (c == 'C')
                idx=2; 
            else if (c == 'D')
                idx=3;
            else if(c == 'F')
                idx=4;
            else {
                invalid_input = true;
                break;
            }
            
            total_grade += grade[idx]; // 累计总分数
            total_courses++; // 累计总课程数
        }

        if (invalid_input) {
            cout << "Unknown" << endl;
        } else {
            double gpa = total_grade / total_courses; // 计算平均绩点
            cout << fixed << setprecision(2) << gpa << endl; // 输出结果,保留两位小数
        }
    }

    return 0;
}

这里是读取两个字符为一门课程,因为还有空格。

fixed 是 头文件中的一个输出格式控制符,用于指定浮点数的输出格式。当使用 fixed 后,浮点数将以固定的小数位数进行输出。

在这段代码中,cout << fixed << setprecision(2) << gpa << endl; 的意思是将 gpa 输出为一个小数点后保留两位的浮点数。即使 gpa 是整数,也会按照保留两位小数的格式输出。

grade = [4.0, 3.0, 2.0, 1.0, 0.0]  # 每个等级对应的分数

while True:
    try:
        input_str = input()  # 读入一行输入数据
        if not input_str:  # 如果输入为空,则退出循环
            break
        
        total_grade = 0  # 总分数
        total_courses = 0  # 总课程数
        invalid_input = False  # 是否有非法输入
        
        for i in range(0, len(input_str), 2):  # 每两个字符为一门课程
            c = input_str[i]
            if c == 'A':
                idx = 0
            elif c == 'B':
                idx = 1
            elif c == 'C':
                idx = 2
            elif c == 'D':
                idx = 3
            elif c == 'F':
                idx = 4
            else:
                invalid_input = True
                break
            
            total_grade += grade[idx]  # 累计总分数
            total_courses += 1  # 累计总课程数
        
        if invalid_input:
            print("Unknown")
        else:
            gpa = total_grade / total_courses  # 计算平均绩点
            print('{:.2f}'.format(gpa))  # 输出结果,保留两位小数
    except:
        break

注意python中是用列表或者字典

grades = [4.0,3.0,2.0,1.0,0.0]
或者
grade = {‘A’: 4.0, ‘B’: 3.0, ‘C’: 2.0, ‘D’: 1.0, ‘F’: 0.0}

while True:
    try:
        s = input().split()
        grade = {'A': 4.0, 'B': 3.0, 'C': 2.0, 'D': 1.0, 'F': 0.0}
        total_courses = 0
        total_grade = 0.0
        flag = False
        
        for i in range(len(s)):
            if s[i] == 'A':
                idx = 'A'
            elif s[i] == 'B':
                idx = 'B'
            elif s[i] == 'C':
                idx = 'C'
            elif s[i] == 'D':
                idx = 'D'
            elif s[i] == 'F':
                idx = 'F'
            else:
                flag = True
                break
            total_courses += 1
            total_grade += grade[idx]

        if flag:
            print("Unknown")
        else:
            print(total_grade / total_courses)

    except EOFError:
        break


08

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

#include <iostream>
using namespace std;


int main()
{
    int n;
   
    while(cin>>n)
    {
       if(n==0)
            break;
        else
        {
            int a[n];
            int sum=0;
            for(int i = 0;i<n;i++)
            {
                cin>>a[i];
                sum = a[i]+sum;
            }
            int c=0;
            c = sum / n;
 
            int sum1=0;
     
            for(int j = 0;j<n;j++)
            {
                if(a[j]>c)
                {
                    a[j]=a[j]-c;
                }
     
                else
                    a[j]=0;
                    
                sum1=a[j]+sum1;
            }
            cout<<sum1<<endl;
            cout<<endl;


        }
   
   }
    
    return 0;
}
while True:
    try:
        n = int(input())
     
        ls = input().split()
        
        nums=list(map(int,ls))
       
        ans = sum(nums)
        avg = ans//n
        sum1 = 0
        for i in range(n):

            if nums[i] > avg:
                nums[i]=nums[i]-avg
            else:   
                nums[i]=0
            sum1 = nums[i]+sum1
        print(sum1)
        print()
        
    except:
        break


将计算平均值的变量名改为 avg,并使用整除符号 // 来确保平均值是整数。另外,在比较每个教室高度差时,我们使用原始数据列表 nums 进行比较,而不是 ls 列表中的元素。


09

在这里插入图片描述

#include <iostream>
using namespace std;

int main()
{
    string s;
    while(getline(cin,s))
    {
        int sum = 0;
        for(int i = 0 ;i<s.size();i++)
        {
            int num = s[i] - '0';
            if ((num %2)==0)
                sum=sum+num;
        }
        
        cout<<sum<<endl;
        cout<<endl;
        
    }
    
    return 0;
}

    
while True:
    try:
        s = input().strip()
        if not s:
            break  # 如果输入为空,则退出循环
        sums = 0
        for c in s:
            if c.isdigit() and int(c) % 2 == 0:  # 判断字符是否为数字和是否为偶数
                sums += int(c)
        print(sums)
        print()
    except:
        break

0 的 ASCII 码是 48。

#include <iostream>
using namespace std;


int main()
{
    
    string s;
    while(getline(cin,s)){
     
        int len;
        len = s.length();
        
        int sum1 = 0;
        for (int i =0;i<len;++i)
        {
            if((int(s[i])%2)==0)
                s[i]=s[i];
            else
            {
                 s[i] = '0';
            }
            
            
               
            sum1 = int(s[i])-48+sum1;
            
            
        }
        cout<<sum1<<endl;    
        cout<<endl;
    }
  
    return 0;
}

在用字符串转整型的时候记得-‘0’
s = list(map(int,input())) 中 input输入的都是字符串,然后把它变成列表,然后再int


10

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

#include <iostream>
using namespace std;


int main()
{
    
    int M,K;
    int n;
    int day;
    while(cin>>M>>K)
    {
        int m;
        if(M==K&&M==0)
        {
            break;
        }
        else
        {
           n = M/K;//充值送的天数 奖励的  4
           day = n+M;//4+13=17
           m = n+M%K;//剩余话费+奖励的  4+1
           while(m>=K)
           {
              day = day+m/K;//1+17+1
              m = m/K+m%K;  //1+2  //1+0
              
           }
            cout<<day<<endl;
           
        }
    }
    
    
    
    
    return 0;
}
while True:
    try:
        M,K = map(int,input().split(' '))
        if M==K==0:
            break
        else:
            day = M+M//K  #13+4=17
            
            m = M%K+M//K  #剩下的钱  1+4
            
            while(m>=K):
                day = day+m//K #17+1   
                
                m = m//K+m%K  #1+2
           
            print(day)
        
    except:
        break

这里要用循环

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/393107.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

我国纯自研水陆两栖大飞机,鲲龙AG600M完成高寒试飞任务

据航空工业官微介绍&#xff0c;近期我国自主研制的大型水陆两栖飞机“鲲龙”AG600M在海拉尔完成最后一项高寒试飞任务。 其动力装置系统、燃油系统、液压系统、飞控系统、航电系统、起落架系统等关键系统通过了高寒地面试验和试飞验证&#xff0c;可满足我国全疆域范围内的森…

如何将阿里云服务器迁移

&#x1f4d1;前言 本文主要是如何将阿里云服务器迁移实现数据转移的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️** &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页放风讲故事 &#x1f304;每日…

【hcie-cloud】【30】华为云Stack应用安全于防护

文章目录 前言Web技术基础和常见Web漏洞Web技术Web系统组成URL结构Web后端技术HTTP/HTTPS协议Cookie/Session简介OWASP TOP 10OWASP TOP 10 2021年版访问控制失效 - 越权访问控制失效 - 跨站请求伪造&#xff08;CSRF&#xff09;URL不安全跳转应用安全法律法规及行业规范 Web应…

React 更改程序入口点(index.js文件位置变更)

食用前提示&#xff1a;本文基于已经快速配置好的React环境而作&#xff0c;配置React环境详见拙作&#xff1a;React环境配置-CSDN博客~ 一、了解默认入口点 使用create-react-app快速搭建react环境后&#xff0c;npm start启动程序的默认入口点为/src/index(即src目录下的ind…

【JavaEE】_HTTP请求首行

目录 1. URL 2. 方法 2.1 GET方法 2.2 POST方法 2.3 GET与POST的区别 2.4 低频使用方法 1. URL 在mysql JDBC中已经提到过URL的相关概念&#xff1a; 如需查看有关JDBC更多内容&#xff0c;原文链接如下&#xff1a; 【MySQL】_JDBC编程-CSDN博客 URL用于描述某个资源…

揭秘京东商品背后的秘密:一键获取详细数据,打造全新购物体验

京东商品详情原数据API接口技术详解 一、概述 京东商品详情原数据API接口是京东开放平台提供的一套用于获取商品详细信息的接口。通过调用该接口&#xff0c;第三方开发者可以获取包括商品描述、价格、图片、评价等详细信息&#xff0c;进而在自己的应用或网站中展示给用户&a…

听说解锁字节扣子,能轻松搭建你的私人AI助手!

一、引子 几年前低代码平台推出了&#xff0c;这种概念应该是未来的一种趋势&#xff0c;不过一直没有被大面积推广起来&#xff0c;或许技术方面还不算成熟。不过随着科技的发展&#xff0c;区块链技术、元宇宙技术、AI技术这些对我们来说触不可及的技术也已经走进大家的视线…

自定义类型详解 ----结构体,位段,枚举,联合

目录 结构体 1.不完全声明 2.结构体的自引用 3.定义与初始化 4.结构体内存对齐与结构体类型的大小 结构体嵌套问题 位段 1.什么是位段&#xff1f; 2.位段的内存分配 枚举 1.枚举类型的定义 2.枚举的优点 联合&#xff08;共同体&#xff09; 1.联合体类型的声明以…

PyCharm 自动添加文件头注释

PyCharm 自动添加文件头注释 1. File and Code Templates2. Python FileReferences 1. File and Code Templates File -> Settings -> Editor -> File and Code Templates -> Python Script Reformat according to style & Enable Live Templates Created by…

UE4 C++联网RPC教程笔记(一)(第1~4集)

UE4 C联网RPC教程笔记&#xff08;一&#xff09;&#xff08;第1~4集&#xff09; 前言1. 教程介绍与资源2. 自定义 Debug 功能3. Actor 的复制4. 联网状态判断 前言 本系列笔记将会对梁迪老师的《UE4C联网RPC框架开发吃鸡》教程进行个人的知识点梳理与总结&#xff0c;此课程…

第三十五回 梁山泊吴用举戴宗 揭阳岭宋江逢李俊-python中用Shell通配符匹配字符串

宋江被抓住&#xff0c;判脊杖二十&#xff0c;刺配江州牢城。临走时宋太公专门叮嘱他不要入伙梁山。 宋江和差人专门挑小路走&#xff0c;想避开梁山&#xff0c;结果还是被赤发鬼刘唐守到了。大家把宋江请上山&#xff0c;都参拜了宋江。看宋江执意要走&#xff0c;吴用说自…

Python学习路线图

防止忘记&#xff0c;温故知新 进阶路线

思迈特再获国家权威认证:代码自主率98.78%

日前&#xff0c;思迈特软件自主研发的商业智能与数据分析软件&#xff08;Smartbi Insight&#xff09;通过中国赛宝实验室&#xff08;工业和信息化部电子第五研究所&#xff09;代码扫描测试&#xff0c;Smartbi Insight V11版本扫描测得代码自主率为98.78%的好成绩&#xf…

Json格式文件

1.把Java对象转换成Json格式 1.1.导入依赖 这里推荐一个插件Jackson&#xff0c;其提供的类可以让Java的类转换成Jason格式文件 <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><vers…

Aquarius Fantasy Series Orcs

使用标准管道创建。目前不支持URP或HDRP。 - 如果想将其转换为URP或类似材质。90%的材质可以完美转换。但是树叶材质和岩石顶盖材质无法转换,除非有自己的材质,无论是自己制作的,还是其他资源包。布料也是如此,每块布料都是单面的,使用简单的材质来达到双面效果。所有其他…

【简洁的代码永远不会掩盖设计者的意图】如何写出规范整洁的代码

个人名片&#xff1a; &#x1f981;作者简介&#xff1a;学生 &#x1f42f;个人主页&#xff1a;妄北y &#x1f427;个人QQ&#xff1a;2061314755 &#x1f43b;个人邮箱&#xff1a;2061314755qq.com &#x1f989;个人WeChat&#xff1a;Vir2021GKBS &#x1f43c;本文由…

ChatGPT的大致原理

国外有个博主写了一篇博文&#xff0c;名字叫TChatGPT: Explained to KidsQ」&#xff0c; 直译过来就是&#xff0c;给小孩子解释什么是ChatGPT。 因为现实是很多的小孩子已经可以用父母的手机版ChatGPT玩了 &#xff0c;ChatGPT几乎可以算得上无所不知&#xff0c;起码给小孩…

第13章 网络 Page744~746 asio核心类 ip::tcp::endPoint

2. ip::tcp::endpoint ip::tcp::socket用于连接TCP服务端的 async_connect()方法的第一个入参是const endpoint_type& peer_endpoint. 此处的类型 endpoint_type 是 ip::tcp::endpoint 在 在 ip::tcp::socket 类内部的一个别名。 libucurl 库采用字符串URL表达目标的地…

信息技术教资科3选择题相关知识点

目录 一.数据压缩 1.无损压缩 2.有损压缩 二.计算题 三.Excel表 四.powerpoint 五.Photoshop 六.FLASH动画 1.动画类型 2.鼠标动作命令 3.动作命令 七.人工智能的应用领域 八.网络相关 八.并行接口和串行接口 九.HTML标签 十.其他知识点 若你是计算机相关专业…

(OpenCV)图片拼接

前言 图片拼接在许多领域都有广泛的应用&#xff0c;包括但不限于以下几个方面&#xff1a; 全景摄影&#xff1a;在摄影中&#xff0c;通过将多张照片拼接在一起可以实现全景照片的效果。这在旅游景点、房地产展示等领域有着广泛的应用&#xff0c;能够提供更加生动、真实的视…