C++头文件;输入与输出;STL

1.头文件

==#include<bits/stdc++.h> //一键包括所有

#include<iostream> //必须要有的
#include<stack> //用到栈
#include<string> //定义字符串
#include <algorithm> //用到reverse();sort()这样的函数

using namespace std;  //必须要有

2.输入与输出

1.两个数 a  b
   int a,b;
   while(cin >> a >> b){
        cout << a*b/gcd(a,b) << endl;
    }
2.1字符串
    string s;
    
    while(getline(cin,s)){
       stack<char> st;
       for(int i=0;i<s.size();i++){
           st.push(s[i]);
       }
       for(int i=0;i<s.size();i++){
           cout << st.top();
           st.pop();
       }        
2.2  string str;
      getline(cin,str);
      //调用函数
      cout << str <<endl;//字符串的输出
3.输出 3.0
    double temp;
    printf("%.1lf",temp);
4.1数组 vector  
    while(cin >> n){
        vector<int> nums;
        int tag;
        for(int i=0;i<n;i++){
            int x;
            cin >> x;  // cin >> nums[i];
            nums.push_back(x);
        }
        sort(nums.begin(),nums.end());       
    for(int i=0;i<N;i++){
            cin >> nums[i];
    }
4.2 未知组数的大小
    int main(){
    
    int a;
    vector<int> st;
    while(1){

        cin >> a;
        st.push_back(a);
        if(cin.get()=='\n')//当输入回车,结束输入
          break;

    }
    int size=st.size();
    for(int i=0;i<size;i++){
        cout << st[i] << endl;
    }
          
    return 0;
}

3.STL 的使用

#include<iostream>
#include<vector>//需要引用该头文件,用到什么引用什么
#include<list> 
#include<map>  
#include<deque>  
#include<set>
#include<deque>
#include<list>
#include<unordered_map>
#include<map>
    
using namespace std;

 
int main()
  {
        vector<int> vect;
         for(int i = 0; i < 10; i++ )
         {
            vect.push_back(i);
          }

        vector<int>::iterator iter = vect.begin();//迭代器
        for(; iter != vect.end(); iter++ )
              if( *iter % 2 == 0 )
             {
                vect.erase(iter);
             }
          }
 
         return 0;
 }

4.无符号int的定义与输出


    #include<bits/stdc++.h>
    #include<stdio.h>  //使用printf
    using namespace std;

    int main(){
    unsigned int a=1024;
    printf("%u",a);   //双引号
    return 0;  
  }   

5. vector<vector> 的输入与输出


    for (int i = 0; i<n; i++) {
		v.clear(); //每次记得clear:)
		for (int j = 0; j < n; j++){
			cin >> temp;
			v.push_back(temp);
		}
		test.push_back(v);
	}
	
	//输出
	for(int i = 0; i < n; i++)
	{
		for(int j = 0;j < n; j++)
		{
			cout << test[i][j] << " ";
		}
		cout << endl;
	}

6.main()调用自己定义的函数

int findKthLargest(vector<int>&nums ,int K){

     int result=0;     
     int size=nums.size();
     if(size==0 || K> size) return 0;
     priority_queue<int,vector<int>,greater<int>> qu;
     for(int i=0;i<size;i++){
         qu.push(nums[i]);
         if(int(qu.size())>K){
             qu.pop();
         }
     }
     result=qu.top();
     return result;
 }

int main(){
    
    int a;
    int result;
    int K;
    vector<int> st;
    while(1){
        cin >> a;
        st.push_back(a);
        if(cin.get()=='\n')
        break;
    }
    while(cin >> K){
        result=findKthLargest(st,K);
        cout << result << endl;
    } 
    return 0;
} 

欢迎关注公众号,干货满满。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值