啊哈哈

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main()
{
    string a;
    vector<string>  s;  //一般不指定初始值 容易出错
    while( cin >> a)
        s.push_back(a);
    for(vector<string>::size_type  i = 0; i != s.size() ; i++)
    {  
        for(vector<string>::size_type j = 0; j != s[i].size() ; j++) // a 到 b
        {
            if(i %8 == 0)     //此处是先换行再++运算的
                cout << endl;
           s[i][j] = toupper(s[i][j]);  //
        }
        cout << s[i];
       
    }
    system("pause");
}

容易出粗的地方,对于push_back的应用--是在原有的基础上在进行添加,push_back自动为容器添加容量

07-11
<think>我们被要求使用中文回答问题,并且在回答后必须提出3-5个相关问题,以“§§相关问题§§”开头。 用户最后输入了“哈哈”,这看起来不是一个具体的技术问题,而可能是一种轻松的表达。因此,我们需要给出一个合适的回应,然后根据这个回应提出相关问题。 由于用户没有提出具体问题,我们可以假设这是一个轻松的互动,因此我们可以用友好的方式回应,然后提出一些与之前讨论的编程问题或一般编程相关的问题。 但是,注意用户之前的问题都是关于编程(特别是时间计算和代码修正)的,所以相关问题可以围绕编程、调试、时间处理等。 然而,由于用户最后输入的是“哈哈”,我们也可以理解为用户想轻松一下,所以我们的回答可以稍微轻松,但还是要遵守规则,提出相关问题。 因此,我们可以这样回答: 回答: 哈哈,看来你今天心情不错!如果你有任何编程问题或者想讨论有趣的技术话题,我随时在这里等你提问哦! 然后,根据这个回答,提出3-5个相关问题。注意,这些问题应该与用户可能的兴趣相关(比如编程、学习、调试等)。 例如: §§相关问题§§ 1. 你在编程时遇到过哪些有趣的事情? 2. 有没有哪段代码让你调试了很久最后发现是一个特别小的错误? 3. 你最近在学习什么编程技术? 4. 对于时间处理这类问题,你有什么更好的调试方法吗? 5. 除了编程,你还对哪些技术领域感兴趣? 但是,注意用户之前的问题都是关于一个具体编程问题的,所以也可以结合之前的上下文。 然而,由于用户最后只是输入了“哈哈”,并没有继续之前的编程问题,所以我们可以选择提出一些轻松但相关的问题。 我们按照要求,在最后输出“§§相关问题§§”并列出问题。 注意:问题数量在3-5个,这里我选择5个。 但是,我们也要注意,如果用户接下来的问题与之前的编程无关,我们也要灵活应对。不过,按照规则,我们只需要根据本次的问题及回答来提出相关问题。 因此,最终回答如下:</think>哈哈!看来你心情不错~不过为了遵守规则,我还是得认真回答并附上相关问题。你的代码问题主要在于跨天计算逻辑,尤其是当总时间超过24小时(1440分钟)时,公式 `m = 32 - m` 会完全失效。以下是关键分析: ### 核心问题 你的代码使用 `m = 32 - m` 试图处理跨天,但: 1. **32没有数学依据**:最大小时应为23(或24) 2. **未处理多日跨度**:当总时间 > 1440分钟(24小时)时完全崩溃 3. **分钟边界错误**:当 `n%60 == 0` 时,`60 - 0 = 60`(非法分钟值) ### 致命样例:s=10000, v=1 ```cpp 输入:s=10000, v=1 计算过程: n = 10000/1 + 10 = 10010 分钟 m = 10010/60 = 166 → 166 + 1 = 167 (因为10010%60=50≠0) m=167>8 → m=32-167=-135 (负数小时) n%=60 → 50 cout << 60-50 → 输出 "-135:10" ❌ 正确结果: 10010分钟 = 6天21小时50分钟 8:00前推 → 6天前21:10 应输出 "21:10" ✅ ``` ### 终极修正方案 ```cpp #include <iostream> #include <iomanip> using namespace std; int main() { int s, v; cin >> s >> v; // 向上取整计算走路时间 int walk_time = (s % v == 0) ? s/v : s/v + 1; int total_min = walk_time + 10; // 计算出发时间(8:00前推总分钟) int departure_min = (8 * 60 - total_min % 1440 + 1440) % 1440; // 自动处理跨天 cout << setfill('0') << setw(2) << departure_min / 60 << ":" << setw(2) << departure_min % 60; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值