2.20打卡day14

84.删除字符

问题描述

从键盘输入一个字符串和一个字符,将输入字符从字符串中删除,输出新的字符串。如果字符串中没有此字符,则原样输出字符串

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main(){
    string str;
    getline(cin,str);
    string c;
    getline(cin,c);
    string ans;
    for(int i=0;i<str.size();i++){
        if(str[i]!=c[0])
            ans.push_back(str[i]);
    }
    cout<<ans;
}

85.手机短号

问题描述

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

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

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main(){
    int n;
    cin>>n;
    for(int i=0;i<n;i++){
        string str;
        cin>>str;
        cout<<'6';
        for(int i=str.size()-5;i<str.size();i++){
                cout<<str[i];
        }
        cout<<endl;
    }

}

86.字符串统计

问题描述

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

输入说明

输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。

输入范例

2
abadvbsbasdfWRWEFASDFASDFwefsadfasdfadef934577&%^&*(
adfasdferdasd233dsf234radfassdfasdf**HHIKKK

个人总结

cin>>str遇到空格换行都会停止接收,getline(cin,str)遇到换行才会停止。

题中输入 2\n 时,cin>>n只会接收2然后停止,此时\n还会留在缓冲区,如果不使用cin.ignore()清空缓冲区,接下来的getline(cin,str)会接收缓冲区的换行符然后立即结束。

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main(){

    int n;
    cin>>n;
    cin.ignore();
    for(int i=0;i<n;i++){
        int cnt=0;
        string str;
        getline(cin,str);
        for(int i=0;i<str.size();i++){
            if(str[i]>='a' && str[i]<='z')
                cnt++;
        }
        cout<<cnt<<endl;
    }
}

87.弟弟的作业

问题描述

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

#include <iostream>
#include <vector>
#include <string>
#include <cmath>

using namespace std;

int main(){
    string str;
    int cnt=0;
    while(cin>>str){
        vector<vector<int>> nums;
        vector<char> sign;
        bool isNum=false;
        for(int i=0;i<str.size();i++){
            if(str[i]>='0' && str[i]<='9')
                if(isNum)
                    nums.back().push_back(str[i]-'0');
                else{
                    isNum=true;
                    nums.push_back({});
                    nums.back().push_back(str[i]-'0');
                }
            else{
                isNum=false;
                sign.push_back(str[i]);
            }
        }



        vector<int> ans;
        for(int i=0;i<nums.size();i++){
            int current_num=0;
            for(int j=0;j<nums[i].size();j++){
                current_num+=nums[i][j]*pow(10,nums[i].size()-j-1);
            }
            ans.push_back(current_num);
        }
        if(sign.size()>2)
            continue;
        if(sign[0]=='+'){

            if(ans[0]+ans[1]==ans[2])
                cnt++;
        }
        else if(sign[0]=='-'){
            if(ans[0]-ans[1]==ans[2])
                cnt++;
        }
    }
    cout<<cnt;
}

计算机英语刘艺第五版unit12 英语翻译

        类似的技术也应用于电影业,例如用来为电影导演和演员提供一个预览--在经过特效或其他对镜头画面的加工处理后电影的画面会变成什么样。这一AR应用有时被称为(referred to)Pre-viz。

        4.商业广告

AR这种可以对潜在买家立即(Instantaneously)展现产品的任意角度的3d视图的能力,在商业广告领域相当受欢迎。该技术可以为顾客切实提供交互性的体验。举个例子,乐高商店的顾客可以拿着一个玩具盒到AR展台,然后该AR展台可以展示组装好的乐高模型的3D图像。顾客可以转动玩具盒从而以任意角度去观察模型。

        AR一个显而易见的目标是对文字媒介的增强,比如传单(flyers)或杂志。哈利波特的读者们知道报纸里的图像是怎样走向现实的。这一想法可以用AR实现,通过将数字画面和动画叠加到文字媒介模板的特定部分之上。当人们在电脑或手机上看杂志时,原本静态的图片变成了动画片段或者电影视频。

AI翻译对比

类似的技术正被应用于电影工业——例如,为导演和演员提供实时预览,让他们在拍摄现场就能看到,在摄像机拍摄的实景画面基础上,经过特效处理或其他合成之后,电影场景将呈现出怎样的效果。这种增强现实的应用有时被称为 “Pre-Viz”(前期可视化)

4. 广告与商业

增强现实能够即时向潜在买家展示产品任意3D视角的能力,已在广告和商业领域受到欢迎。这项技术可以为顾客带来真正交互式的体验。例如,乐高门店的顾客可以将玩具盒拿到AR展示台前,屏幕上便会显示组装好的乐高模型的3D图像。顾客可以转动盒子,从任意角度观察模型。

增强现实一个显而易见的目标应用,是对印刷材料(如传单或杂志)的增强。《哈利·波特》小说的读者都知道,《预言家日报》中的图片是会动的。借助增强现实,这一设想可以通过在印刷模板的特定区域上叠加数字视频和动画来实现。当在电脑或智能手机上观看杂志时,静态图片便被替换为动画片段或视频。

计算机英语单词扇贝打卡

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值