先由一个提目引入
这个相当简单的题目提到了字符串以及循环
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;//定义一个字符串
getline(cin,s);//接受一个字符串,并且接受空格
/*getline(cin,s)存在于头文件名#include<cstring>中,
其中s是指字符串类型,即string s;注意需要按两次回车
一次代表字符串的输入结束,一次代表开始输出*/
for(int i=0;i<s.size();i++){ //开始循环,因为int i = 0,所以<其长度
if(s[i]>='a' && s[i]<='z')
s[i]-=32;
}
cout<<s;
return 0;
}
第一点:虽然在这个代码中使用了#include<bits/stdc++.h>,但是要清楚字符串常用的头文件还是#include<cstring>
第二点: getline(cin,s)是表示输入一个字符串,而且可以接受空格并输出,而有关于getline函数的知识简单来说它是为了避免cin对于空格的忽略;
#include<iostream>
#include<string>
using namespace std;
int main() {
string s;
getline(cin, s,'?');
cout << s;
}
这个代码中的‘?’就是除了换行符和EOF的另一种读取结束方式
遇到自己设定的字符也可作为字符流读取结束,比如这里的‘?’
第三点
getline(cin,s) //接受一个字符串,可以接受空格并输出。s为字符串类型
cin.getline(s,100);//每次读取一整行并把Enter键生成的换行符抛弃,s为字符数组类型,
char s[160].
gets(s);//接受一个字符串,可以接受空格并输出。这里的s必须为字符数组类型的数 ,
例如 char s[100]