2022年4月

1.cin.getline()此函数可读取整行,包括前导和嵌入的空格,并将其存储在字符串对象中。
2.strlen()获取字符数组长度
3.ASCII A:65 a:97

2047:【例5.16】过滤空格
过滤多余的空格。一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。

#include <iostream>
#include <cstring>
using namespace std;
char s[202];
char s2[202];
int main()
{
    cin.getline(s,200);    
    int len=strlen(s);
    
    s2[0]=s[0];
    int n2=1;
    for(int n=1;n<len;n++){
        
        if(!(s[n]==' '&&s[n-1]==' ')){
            s2[n2++]=s[n];
            
            
        }
        
        
    }

cout<<s2;
    
    return 0;
}

对给定的n(1≤n≤20)个国家名(国家名字长度不超过20),按其字母的顺序输出。

#include<iostream>
using std::cin;
using std::cout;
using std::endl;
#include<string>
using std::string;
#include<algorithm>
using std::swap;
 
int main()
{
    int n = 0;
    string a[20];
    cin >> n;
 
    for (int i = 0; i < n; ++i)
    {
        cin >> a[i];
    }
 
    for (int i = 0; i < n - 1; ++i)
    {
        for (int j = 0; j < n - i - 1; ++j)
        {
            if (a[j] > a[j + 1])
            {
//直接比较大小就是比较首字母的ascii码
                swap(a[j], a[j + 1]);
            }
        }
    }
 
    for (int i = 0; i < n; ++i)
    {
        cout << a[i]<<endl;
    }
}