scanf读入字符串的方法
1、使用cin读入n再scanf读入二维字符数组(每一个都用字符读入)#include<iostream>#include<string>#include<stdio.h>using namespace std;int main(){int n;cin>>n;//这里如果是scanf("%d",&n),也要用...
·
1、使用cin读入n再scanf读入二维字符数组
(每一个都用字符读入)
#include<iostream>
#include<string>
#include<stdio.h>
using namespace std;
int main(){
int n;
cin>>n;//这里如果是scanf("%d",&n),也要用getchar
char ch;
char c[100][100];
for(int i=0;i<n;i++){
getchar();//getchar消去回车
for(int j=0;j<n;j++){
scanf("%c",&c[i][j]);
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<c[i][j]<<' ';
}
cout<<endl;
}
return 0;
}
2、读入string形式字符串
#include<iostream>
#include<string>
#include<stdio.h>
using namespace std;
int main(){
int n;
cin>>n;
//getchar();这里加不加getchar都可以
string s;
cin>>s;
cout<<s;
return 0;
}
3、scanf读入二维字符数组
#include<iostream>
#include<string>
#include<stdio.h>
using namespace std;
int main(){
char s[100][100];
int n;
cin>>n;
getchar();
for(int i=0;i<n;i++){
scanf("%s",&s[i]);
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<s[i][j]<<' ';
}
cout<<endl;
}
}//scanf读取二维数组
4、scanf读入字符串
#include<iostream>
#include<string>
#include<stdio.h>
using namespace std;
int main(){
char s[100];
char ch[100];
scanf("%s%s",&s,&ch);//遇到空格会跳出
printf("%s %s",s,ch);
return 0;
}

5、scanf读入二维字符数组(每一行用字符串读入)
#include<iostream>
#include<string>
#include<stdio.h>
using namespace std;
int main(){
char ch[100][100];
int n;
cin>>n;//这里如果用scanf("%d",&n),getchar用不用都可以,使用cin也可以不用getchar
getchar();
for(int i=0;i<n;i++){
//如果用scanf或者cin,这里加不加getchar都可以
scanf("%s",&ch[i]);
}
for(int i=0;i<n;i++){
cout<<ch[i]<<endl;
}
return 0;
}
6、getline读入一行(可以有空格)
#include<iostream>
#include<string>
#include<stdio.h>
using namespace std;
int main(){
string s;
int n;
cin>>n;
getchar();
getline(cin,s);//读入一行
cout<<s<<endl;
getline(cin,s);
cout<<s<<endl;
return 0;
}

更多推荐


所有评论(0)