2月19日(85-87题)

85.手机短号

题目描述

大家都知道,手机号是一个11位长的数字串,同时,作为学生,还可以申请加入校园网,如果加入成功,你将另外拥有一个短号。假设所有的短号都是"6"+手机号的后5位,比如号码为13512345678的手机,对应的短号就是645678。

现在,如果给你一个11位长的手机号码,你能找出对应的短号吗?

代码

cpp 复制代码
#include <iostream>
#include <string>

using namespace std;

int main() {
    int n;
    if (cin >> n) {
        while (n--) {
            string phone;
            cin >> phone;
            
            cout << "6";
            for (int i = 6; i < 11; ++i) {
                cout << phone[i];
            }
            cout << endl;
        }
    }
    return 0;
}

总结

读入字符串后循环输出后五位就行。


86.字符串统计

对于给定的一个字符串,统计其中小写字母出现的次数

代码

cpp 复制代码
#include <iostream>
#include <string>

using namespace std;

int main() {
    int n;
    if (cin >> n) {
        while (n--) {
            string s;
            cin >> s; 

            int count = 0;
            // 遍历字符串中的每一个字符
            for (int i = 0; i < s.length(); i++) {
                // 判断是否为小写字母
                if (s[i] >= 'a' && s[i] <= 'z') {
                    count++;
                }
            }
            
            cout << count << endl;
        }
    }
    return 0;
}

总结

​ if (si >= 'a' && si <= 'z') ,字符数组可以直接判断哪部分为小写字母。


87.弟弟的作业

题目描述

你的弟弟刚做完了"100以内数的加减法"这部分的作业,请你帮他检查一下。每道题目(包括弟弟的答案)的格式为a+b=c或者a-b=c,其中a和b是作业中给出的,均为不超过100的非负整数;c是弟弟算出的答案,可能是不超过200的非负整数,也可能是单个字符"?",表示他不会算。

代码

cpp 复制代码
#include <iostream>
#include <string>
#include <cstdlib> // 用于string to int

using namespace std;

int main() {
   int a, b;       // 两个操作数
   char op, eq;    // 运算符 
   string ans_str; // 弟弟写的答案 
   int count = 0;  // 记录答对的题数

   
   while (cin >> a >> op >> b >> eq >> ans_str) {
       
       // 如果答案是?
       if (ans_str == "?") {
           continue;
       }

       // 将字符串形式的答案转换为整数
       int c = stoi(ans_str);
       
       // 计算正确答案
       int correct_ans;
       if (op == '+') {
           correct_ans = a + b;
       } else {
           correct_ans = a - b;
       }

       // 比较弟弟的答案和正确答案
       if (c == correct_ans) {
           count++;
       }
   }

   cout << count << endl;

   return 0;
}

总结

​ 做本题的时候要分清楚中英文问号的不同。cin可以很巧妙的按顺序读取输入。?存为字符串即可。


翻译

​ 一个关键的物联网应用是推动智能电网。......个人家庭中的各种传感器(智能恒温器)可以收集信息,这些信息通过网络发送到主站......智能电网通过将传感、测量和控制设备应用于电力生产、传输、分配和消耗而成为可能。

​ 物联网已被建议用于住宅、商业、工业和政府环境中的智能建筑建设。智能建筑可以是购物中心或住宅、医院或高层办公大楼。......它们可以监管建筑安全、火灾扑救(消防)和电梯运行。

residential ------ 住宅的 / 居住的

grid ------ 网格 / 电网

high-rise office tower ------ 高层办公大楼

suppression ------ 抑制 / 扑灭(fire suppression 指消防灭火)

相关推荐
raindayinrain1 分钟前
c++并发
c++
j7~5 分钟前
【C++】智能指针的使用及其原理--详解
c++·c++11·内存泄漏·智能指针·raii·boost智能指针
阳明山水38 分钟前
销量预测2025—2026:从模型竞赛到系统融合的范式转型
人工智能·深度学习·算法·机器学习·架构
桐盛科技1 小时前
拒绝“漂绿”风险:基于边缘计算的碳排放数据清洗算法与实时校验逻辑
人工智能·算法·边缘计算
Tongzhi20261 小时前
通芝科技考勤软件三大发展趋势:AI大模型、无感识别与数据底座
大数据·科技·算法·爬山算法
Persistent的粽子!1 小时前
C++:类与对象(一)
开发语言·c++·经验分享·笔记
eBest数字化转型方案2 小时前
Route Optimization for FMCG:多目标排线算法的工程实现
大数据·人工智能·算法
库玛西2 小时前
深入浅出Linux select网络模型:从底层位图原理到C++面向对象高级封装
linux·服务器·网络·c++·ubuntu
2402_882893862 小时前
深入浅出 unordered_map 与 unordered_set——从使用到底层差异
c++·哈希·unordered_map·unordered_set
residual_fan2 小时前
持续对比强化学习(Continual Contrastive Reinforcement Learning)论文分享
人工智能·算法·数据挖掘·数据分析