1.使用提取符(<<)可以输出各种基本数据类型的变量的值,也可以输出指针值 T
2.预定义的插入符从键盘上接收数据是不带缓冲区的。 T
3.有代码如下:
int n;
string s;
cin>>n;
getline(cin, s);
cout<<s.size()<<endl;
则在输入以下数据后得到结果是( )。 ans:0
1
Hello World
4.下列表达错误的是( ) ans:B
A.cout<<setw(5)
B.cout<<fill('#')
C.cout.setf(ios::uppercase)
D.cin.fill("#")
5.本题要求实现一个函数,获取从键盘连续输入的两个字符和一个整数。 注意:空格和换行都可以作为有效字符被接收
ans:
#include<iostream>
using std::cin;
using std::cout;
using std::endl;
void input(char* c1, char* c2, int* i);
int main()
{
char ch1, ch2;
int i;
input(&ch1, &ch2, &i);
cout << ch1 << endl << ch2 << endl << i << endl;
return 0;
}
void input(char* c1, char* c2, int* i)
{
cin.get(*c1); //这里有*
cin.get(*c2);
cin >> *i;
}
7.本题要求实现一个函数,获取从键盘输入的字符串,以‘#’作为字符串输入的结束。获取的字符串的字符个数不超过19个。
#include<iostream>
void input(char* s);
int main()
{
char str[20];
input(str);
std::cout << str << std::endl;
return 0;
}
void input(char* s)
{
std::cin.getline(s, 20, '#');
}
8.输入一个长度不超过50的由小字字母构成的字符串,输出由这个字符序列构成的最大的正方形。
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
int side, row(1);
cin >> str;
side = str.length() / 4 + 1; //竟然可以直接str.length
for(int i=0; i<side; i++)
cout << str[i];
if(side > 1)
{
cout<<endl;
for(; row<side-1; row++)
{
cout << str[(side - 1) * 4 - row];
for(int k=0; k<side-2; k++)
cout << ' ';
cout << str[(side - 1) + row] << endl;
}
for(int i=0; i<side; i++)
cout << str[(side - 1) * 3 - i];
}
return 0;
}
9.
从键盘输入一个数作为正五边形的边长,计算并输出该正五边形的周长和面积。
计算正五边形的面积公式为: S=a2×25+10×5/4
#include<iostream>
#include<math.h>
#include <iomanip>
using namespace std;
int main()
{
float size;
float length,area;
cin >> size;
length = 5 * size;
area = size * size * sqrt(25 + 10 * sqrt(5)) / 4;
cout << setprecision(6) << area << endl;
cout << length << endl;
return 0;
}