1.首行输入一个int代表次数t,然后输入t次的string,然后输出相应的答案。
#include<iostream>
#include<string>using namespace std;
string num;
int main()
{
int t;
cin>>t;
while(t--)
{
cin>>num;
string ans;
里面随便搞,由num->ans
cout<<ans<<endl;输出答案
}
}
2.无限循环输入N,M。N代表的是学生数目M为操作数目。下一行输入学生数组。再后面就是M行的操作。操作第一个数字是操作性质为字符,后面数字都有各自意义为整形
输入例子:
5 7 1 2 3 4 5 Q 1 5 U 3 6 Q 3 4 Q 4 5 U 4 5 U 2 9 Q 1 5
int N,M;
while(cin>>N>>M)
{
vector<int> s(N+1,0);
for(int i=1;i<=N;i++)
{
cin>>s[i];
}
for(int i=0;i<M;i++)
{
int ans=0;
char c='\0';
int n=0;
int m=0;
cin>>c>>n>>m;
if(c=='Q'){
cout<<get_max(s,n,m)<<endl;
}
else if(c=='U'){
s[n]=m;
}
}
}
3.另外一种框架,用的是getline
string input;
while(getline(cin,input)){
input输入变成了vector数组;
}
在后面将vector数组进行输出;
4.也可以这样,然后一个个的接在后面
int n;
while(cin>>n)
{
vector<int> vX;
vector<int> vY;
for(int i = 0;i<n;i++)
{
int x,y;
cin>>x>>y;
vX.push_back(x);
vY.push_back(y);
}
5. 也可以用char而不是string
char str[110];
while (gets(str)) {}
6.print scanf
while
(
scanf
(
"%d"
,&R) != EOF)//输入
printf
(
"%dx\n"
,ret);//输出。ret是int。比如1,输出1x。
6.输出的时候,精确2位的输出
printf("%.2f/n",a);
7.非常重要,要输入的字符串包含空格,因此用getline。同时,还要再打一个字符S。用cin.ignore()消除这个S的回车。
void main()
{
string str;
while (getline(cin, str))
{
char s;
cin >> s;
cin.ignore();
cout << s;
}
}
8.如果输入是一个字符,而不是字符串。就光一个字符的话。然后还统计个数巴拉巴拉
map<char,int>words;
char ch;
while ((ch=getchar())) {
if(ch=='\n')
break;
else
words[ch]++;
}
cin>>ch;
cout<<words[ch]<<endl;
return 0;