1.输入带空格的字符串(方法之一)
#include<iostream>
//#include<stack>
using namespace std;
int main()
{
char arr[10];
scanf("%[^\n]",arr);
printf("%s",arr);
return 0;
}
2.getline函数的用法
用法1(getline作为成员函数使用):
#include<iostream>
using namespace std;
int main()
{
char s[100];
int n;
cin>>n;
char c;
cin>>c;
cin.getline(s,n,c);//向s中输入n个字符,输入过程中达到n-1个数或者提前遇到c字符,输入结束。
cout<<s;
return 0;
}
用法2:
#include<iostream>
using namespace std;
int main()
{
char c;
cin>>c;
string s;
getline(cin,s,c);//当设有字符c时,将输入流s中读到的字符存入cin中,直到遇到终结符c才结束。c是可以由用户自己定义的终结符;没有定义是delim默认为 '\n'(换行符)
cout<<s;
return 0;
}
3. 快速读入
#include<iostream>
using namespace std;
char *p1,*p2,buf[100000];
#define nc() (p1==p2 && (p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++)
inline int read()
{
int x=0,f=1;
char ch=nc();
while(ch<'0'||ch>'9')
{
if(ch=='-') f=-1;
ch=nc();
}
while(ch>='0'&&ch<='9')
{
x=x*10+ch-'0';
ch=nc();
}
return x*f;
}
int main()
{
int n,x;
n = read();
long long ans = 0;
for(int i = 1; i <= n; i++)
{
x = read();
ans += x;
}
cout << ans << endl;
return 0;
}