Aaron-NZH 2018-12-25 15:10 采纳率: 33.3%
浏览 251

北大oj1001,求求路过的大佬帮我看看为什么不能ac

#include
#include

void multiply(int* n1,int* n2); //n1*n2,并且将结果放到n2

int main()
{
char r[7];
int n,i,j,point,res[250],num[5];
int len =250;
while(scanf("%s%d",r,&n)!=EOF)
{
point = 0;
while(r[point]!='.')point++; //point=小数点之前的数位
for(i=point;i r[i]=r[i+1];
point = 5-point;
point *= n; //最终结果小数点最多有 point位
for(i=4;i>=0;i--)
num[4-i] = r[i]-'0';
memset(res,0,sizeof(res));
res[0] = 1;
for(i=0;i multiply(num,res);
while(res[len])
{
len--;
}
while(res[len] == 0)
{
len--;
}
for(i=len;i>=point;i--)
printf("%d",res[i]);
for(i=0;i if(res[i]!=0)
break;
if(i {
printf(".");
for(j=point-1;j>=i;j--)
printf("%d",res[j]);
}
printf("\n");
}
return 0;
}

void multiply(int* n1,int* n2)
{
int i,j,tmp[250];
memset(tmp,0,sizeof(tmp));
for(i=0;i<5;i++)
for(j=0;j<250;j++)
tmp[i+j] += n1[i] * n2[j];
for(i=0;i<250;i++){
tmp[i+1] += tmp[i]/10;
tmp[i] %= 10;
}
memcpy(n2,tmp,sizeof(tmp));
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 如何在scanpy上做差异基因和通路富集?
    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?
    • ¥15 c++头文件不能识别CDialog