C++中有多种输入方式,以满足用户输入的个性化
-
cin (不多赘述)
结束方式:空格,tab,回车
头文件:iostream -
gets()
功能与scanf(“%s”,s)相似。
结束方式:回车
头文件:iostream+string -
cin.get()
用来接收字符
int main()
{
char ch;
cin.get(ch);
cout<<ch<<endl;
}
输入
Holle
输出
H
Program ended with exit code: 0
结束方式:空格,tab,回车
头文件:iostream
- cin.get(数组名,接收字符数)
用来接收一行有空格的字符串
int main()
{
char ch[100];
cin.get(ch,100);
cout<<endl<<ch<<endl;
}
输入
Hello World
1 2 3
输出
Hello World
Program ended with exit code: 0
结束方式:回车
头文件:iostream
int main()
{
string word;
while (getline(cin, word))
{
if (word == "End of file")
return 0;
string s;
for (auto& a : word)
if (isgraph(a))
s += a;
cout << s << endl;
}
}
输入
Hello World
1 2 3
ghj fgh
输出
Helloworld
123
ghjfgh
Program ended with exit code: 0
结束方式:
头文件:iostream+string
- cin.getline(数组名,接收字符数)
用来接收一行有空格的字符串
int main()
{
char ch[2][100];
int i=0;
while(i<2)
{
cin.getline(ch[i],100);
cout<<endl<<ch[i]<<endl;
}
}
输入
Hello World
1 2 3
输出
Hello World
1 2 3
Program ended with exit code: 0
结束方式:
头文件:iostream+string
- getchar()
用于接收字符,可以用来消化一个回车。
main ()
{
char ch;
ch=getchar();
cout<<ch<<endl;
}
输入
Hello World
输出
H
Program ended with exit code: 0
消化回车
main ()
{
char ch,sh;
ch=getchar();
getchar();
sh=getchar();
cout<<ch<<sh<<endl;
}
输入
H
W
输出
HW
Program ended with exit code: 0
小九九格式问题(有些东西还是要记得…)
如果只是单纯的用空格来隔开每个公式就会是这样的格式
。
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
但是用"\t"就有自动的对齐
int main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
printf("%d*%d=%d\t",j,i,j*i);
}
printf("\n");
}
}
//结果
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81