共有回帖数 0 个
-
1000位/8位数的 的程式,自己写的
#include iostream
#include cstdlib
using namespace std;
char dividend[1000];
char result[1000];
int main()
{
int divisor,digit_dividend = 0,digit_divisor = 1;
int temp = 0 , r = 0;
for(int i=0;i1000;i++)
result = ' ';
cout "输入被除数";
cin dividend;
cout "输入除数";
cin divisor;
for (int i=0;i1000;i++)
if ( dividend != ' ' )
digit_dividend++; //计算被除数的位数
else
break;
for (int i=10;i=divisor;i*=10) //计算除数的位数
digit_divisor++;
int re_ = 0; //除数的余值
int digit = 1; //字符转化数字位数时的位数转换
for (int m=0;mdigit_divisor-1;m++)
digit*=10;
for (int i=0;idigit_divisor;i++) //首位的计算
{
re_ += (dividend-48)*digit; // re_ 首位被除数的数字
digit /= 10;
}
result[r++] = (re_ / divisor)+48; //商
temp = re_ % divisor; //temp 余数
for (int i=1;i=(digit_dividend - digit_divisor);i++) // 下一位的计算
{
result[r++] = ( temp*10 + dividend[digit_divisor+i] - 48 ) / divisor + 48 ;
temp = ( temp*10 + dividend[digit_divisor+i] - 48 ) % divisor;
}
if ( temp != 0 )
{
result[r++] = '.';
for ( int i=0;i1000-r;i++)
{
result[r++] = temp*10 /divisor+ 48 ;
temp = temp*10 % divisor;
}
}
for (int i=0;result!=' ';i++)
cout result;
cout endl;
}
楼主 2015-12-24 21:45 回复
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈 |
关于直线 |
版权声明 |
会员须知