信息学奥赛C++笔记
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;
}
}