大数计算,即对两个限定长度的数字做运算。因为限定长度可以是10,20,也可以是100,200…就别想着用long long或者其他分配空间很大的数字类型来做了,老老实实用char数组吧。
因为两个数字长度可能不一样,我编写了一个判断语句,如果第一个数字的长度小于第二个,则两个数做一下交换,并向右对齐较短的数字,前面用’0’补齐。如果两个数字长度相等,那就不用进行交换,补齐操作。
有一个点卡了一段时间,后来发现给字符数组元素赋值时,“=‘0’”被我写成“=0”了,以后要注意一下。
#include <iostream>
#include <string.h> //需要得到字符串长度
using namespace std;
int main()
{
char num1[100], num2[100], tch[100], num3[100]; //num1和num2表示要相加的两个数,num3表示结果
//tch用于交换num1和num2,使num1长度不小于num2
cout << "请输入两个数字:";
cin