要不截个图吧,这么看实在是看不清
不知道这种写法可不可以,反正结果是对的。。。
#include <iostream>
using namespace std;
int main()
{
//下面这一长串是圆周率的字符串 一共1000位
string PI="";
PI+="3.14159265358979323846264338327950288419716939937510";
PI+="58209749445923078164062862089986280348253421170679";
PI+="82148086513282306647093844609550582231725359408128";
PI+="48111745028410270193852110555964462294895493038196";
PI+="44288109756659334461284756482337867831652712019091";
PI+="45648566923460348610454326648213393607260249141273";
PI+="72458700660631558817488152092096282925409171536436";
PI+="78925903600113305305488204665213841469519415116094";
PI+="33057270365759591953092186117381932611793105118548";
PI+="07446237996274956735188575272489122793818301194912";
PI+="98336733624406566430860213949463952247371907021798";
PI+="60943702770539217176293176752384674818467669405132";
PI+="00056812714526356082778577134275778960917363717872";
PI+="14684409012249534301465495853710507922796892589235";
PI+="42019956112129021960864034418159813629774771309960";
PI+="51870721134999999837297804995105973173281609631859";
PI+="50244594553469083026425223082533446850352619311881";
PI+="71010003137838752886587533208381420617177669147303";
PI+="59825349042875546873115956286388235378759375195778";
PI+="18577805321712268066130019278766111959092164201989";
//输入
int m=0;
int n=0;
while ((m>=n)||(m>=1000)||(n>1000))//对输入的m n的值做限定
{
cout<<"请输入两个数:(第一个小于第二个且第二个数不大于1000)"<<endl;
cin>>m>>n;
}
//输出
int startNumber=m+1;//加1是为了除去 3. 这两位
int endNumber=n+2;//加2是因为使用substr函数的原因,你改成加1试试就知道了
string outputStr=PI.substr(startNumber,endNumber-startNumber);//取出对应的子字符串
cout<<outputStr.c_str()<<endl;//打印到屏幕上
system("pause");
return 0;
}