题目描述
给定两个非负整数(不含前导 0) A 和 B,请你计算 A×B 的值。
输出格式
共一行,包含 A×B 的值。
数据范围
1≤A的长度≤100000,
0≤B≤10000
输入样例
2
3
输出样例
6
算法1
高精度乘法
A,B
参考文献
yxc 算法基础课参考视频,相关代码
C++ 代码
#include <iostream>
using namespace std;
int main(){
double a,b,c;
cin >> a >> b >> c;
printf("MEDIA = %.1f",a * 0.2 + b * 0.3 + c * 0.5);
return 0;
}
题目中涉及语法:
1.输入输出 cin 和 printf
-
cin,标准输入流对象,istream用于从标准输入(键盘终端)读取数据
关于标准输入缓冲区,回车会被当做字符(\n)记录在缓冲区内
cin从缓冲区中获取数据,缓冲区为空时,cin的成员函数会阻塞等待数据的到来
-
cout 输出流的对象,ostream
- cerr 标准错误输出流的对象,也是ostream的对象
2.cin的常用读取方法
- cin >>,连续从键盘读取想要的数据,空格、tap或换行作为分隔符
1.cin >> 等价于cin.operator>>(),调用成员函数operator>()进行读取数据
2.cin >> 读取数据,第一个字符是空格、tab或换行这些分隔符时,cin>> 会将其忽略并清除,继续下一个字符,如果缓冲区是空的,继续等待。如果读取成功,字符后面的分割符会残留在缓冲区中,cin>>不做处理
3.不想忽略空白字符,就使用noskipws流控制。比如cin >> noskipws >> input; - cin.get
1.多种重载形式:无参,一参数,二参数,三参数
int cin.get();
istream& cin.get(char& var);
istream& get ( char* s, streamsize n );
istream& get ( char* s, streamsize n, char delim )。
streamsize 在VC++中被定义为long long型
2.cin.get读取一个字符,cin.get()或cin.get(var)
3.cin.get()的返回值是int类型,成功:读取字符的ASCII码值,遇到文件结束符时,返回EOF,即-1,Windows下标准输入输入文件结束符为Ctrl+z,Linux为Ctrl+d。cin.get(char var)如果成功返回的是cin对象,因此可以支持链式操作,如cin.get(b).get(c)。
4.cin.get读取一行
5.读取一行可以使用istream& get ( char* s, streamsize n )或者istream& get ( char* s, size_t n, streamsize delim )。二者的区别是前者默认以换行符结束,后者可指定结束符。n表示目标空间的大小。
- cin.getline
- 读取一行
- 读取一串字符串,指定结束符,函数原型:
istream& getline(char* s, streamsize count); //默认以换行符结束
istream& getline(char* s, streamsize count, char delim);