C++的入门

发布于:2022-12-14 ⋅ 阅读:(501) ⋅ 点赞:(0)

主要是学完了最基本的几个容器,现在要开始练习C++的输入输出了,主要是为了以后的面试或者程序设计赛。

用C的话意义不大,毕竟我用C写算法题,一是我不会其他语言,二是因为目前只想练练算法思维(毕竟力扣也不要求输入输出)。另外就是我确实很久没练C语言的输入输出了,好多东西都忘了。

以后刷题要换语言,过渡期也是有点痛苦的。

目前C语言力扣上是刷了101题。

下面由于我不会转载,那我就直接截图了_(:зゝ∠)_

一.一直循环输入

e957bf68321245e5b726b6cf82965ad8.png

这个代码挺神奇的,当你输入2个数,即使2个数之间有多余的空格,换行,都没问题,只有检测到可以得到答案时,回车就会得到答案,要不然就是换行。

然后,输入3个数只能得到1个答案,输入4个数能得到2个答案,以此类推。

一次可以输入多组数据,而且得到答案后你可以再输入,一直循环下去,简直方便极了。

没有while的话,一次只能输入一组数据,cin是忽略多出来的数据的,也只能得到一组答案,然后代码窗口就关了(运行结束)。

二.指定输入行数

10098ed74029453b86e220378e192a57.png

 这里居然可以一次输入多组数据,没太明白。

ef4def779efa45a4991231d008bc0359.jpg

看我这个例子,搞半天其实是,把你输入的所有数据都存起来,每次回车,从中按序挑2(或者说偶数个)个没被选的数字。会输出已算出但还未被输出的答案。每次cin的多出的数据都不会被忽略,而是存起来。

所以要想正确用该while+cin,就每次输出2个数,或者输出偶数个数的数据,可以一次性得到答案,要不然就不知道哪2个数对应哪个答案了。

三.指定输入条件

6c41574ba04545a99cb8b731ccfe6a2a.png

四.每组多个数据,有多组。(但给定了每组的数据个数)

57079d1e54b14ddf8174ffdea98b29c0.jpg

8e5f250ff824438db0f9d37daaec64c3.png 

 五.从这题开始感觉已经可以找到套路了。就是前面几题代码的组合。

9c3f8fce91304005b9503553ac49bff2.jpg

e0590e07cb47430cb42621e4e11b933c.png

六.没啥问题 

七.有点难度,所以我不打算会🌚🌚

06cca7e124fa435699da1c0b93070525.jpg

204a4e06f01546b895eb36a637a4db7e.png

 

auto可以代表复杂的变量类型,简化代码。

字符串输入输出第二题

主要是要会用stringstream。getline是改变流的输入输出条件。

#include<bits/stdc++.h>

using namespace std;

 

int main()

{

    int n;

    string line;

    while(getline(cin, line))

    {

        vector<string> arr;

        stringstream ss(line);

        string item;

        while(getline(ss, item, ' '))

这个while里换成ss>>item也行,主要就是用stringstream输出非空格的部分。

            arr.push_back(item);

        sort(arr.begin(), arr.end());

        for(auto str: arr) cout << str << " ";

        cout << endl;

    }

    return 0; 

}

字符串第三题比第二题难一点点,不过也差不多。

那输入输出就算练完了吧。。。不来了。

更:突然又发现刷acwing的话有没有刷题路线,好像上面有4,5千题。还得转战小扣扣。

 

 

 

 

 

 

 

 

 

 

 

 


网站公告

今日签到

点亮在社区的每一天
去签到