如何用轻小说的方式学C (五) 斐波那契与他的小兔子们(2)
}
return 0;
}
“嗯,看——不懂。”
凛音掀起了桌子。
“就是一个循环啊!不停地把后两项加到前面一项去啊!”
(似懂非懂)
“另外,字符串也可以看成一个数组哟。”
(点头)
“那么我们进入到高精度加法吧。”
“...等等?高精度?”
“先说一句,int的取值范围是-2147483648~2147483647内”
“诶!第一次听说啊!还有这魔法一样的数字是什么鬼!”
“[-2^31]~[2^31-1],合计2^32个数,就是这么魔法。因为现在的电脑上int通常占用4个字节,每个字节8个bit,也就是32个bit。”
“唔...晕了!”
“也没要你记。现在你写一个能够进行100位数以内的加法的程序。”
“诶?!100位?!真的能算吗?!我可以手算啊!”
“前提是你手算的能有电脑快。”
刹那茫然地看着编辑器一闪一闪的光标。
“补充一些关于std::string的东西吧。”
“写上#include<string>以后,你就可以用这个东西了。”
一些用法:
std::string a;
std::cin>>a; //输入一个字符串。
a.length(); //能够得到字符串的长度,类型是size_t,一般是unsigned int的重定义,即无符号整数,能表示0~4294967295之间的数。通常也不会有这么长的字符串就是。
a[100]; //字符串第101个元素的值。(要从0号开始算,所以是第101个)
ざわざわ~
ざわざわ~
“动手!能写多少写多少!”凛音咆哮。
#include<iostream>
#include<string>
int main() {
std::string a,b;
std::cin>>a>>b;
size_t aLen = a.length();
size_t bLen = b.length();
size_t maxLen = aLen > bLen ? aLen : bLen;
.......
“写不下去了!怎么做嘛...”
“提示,先倒序,这样进位可以往后面进。”
......
int ia[101],ib[101];
for(int i=0;i<aLen; i) {