zoukankan      html  css  js  c++  java
  • HDU 1753 大明A+B

    HDU_1753

        大数加法,固定好小数点的位置,分整数和小数两部分读取和输出即可。

    #include<stdio.h>
    #include<string.h>
    int a[1010],b[1010],sum[1010];
    char str[1010];
    int main()
    {
    int i,j,k,p,q,n,s,c;
    while(scanf("%s",str)==1)
    {
    memset(a,0,sizeof(a));
    memset(b,0,sizeof(b));
    memset(sum,0,sizeof(sum));
    n=strlen(str);
    if(strchr(str,'.')==NULL)
    k=n;
    else
    k=strchr(str,'.')-str;
    for(i=k-1,j=500;i>=0;i--,j++)
    a[j]=str[i]-'0';
    for(i=k+1,j=499;i<n;i++,j--)
    a[j]=str[i]-'0';
    scanf("%s",str);
    n=strlen(str);
    if(strchr(str,'.')==NULL)
    k=n;
    else
    k=strchr(str,'.')-str;
    for(i=k-1,j=500;i>=0;i--,j++)
    b[j]=str[i]-'0';
    for(i=k+1,j=499;i<n;i++,j--)
    b[j]=str[i]-'0';
    c=0;
    for(i=0;i<1010;i++)
    {
    s=a[i]+b[i]+c;
    sum[i]=s%10;
    c=s/10;
    }
    for(i=1009;i>500;i--)
    if(sum[i])
    break;
    for(;i>=500;i--)
    printf("%d",sum[i]);
    for(j=0;j<500;j++)
    if(sum[j])
    break;
    if(j!=500)
    {
    printf(".");
    for(i=499;i>=j;i--)
    printf("%d",sum[i]);
    }
    printf("\n");
    }
    return 0;
    }


  • 相关阅读:
    Python 异常处理
    Python File(文件) 方法
    python 文件定位
    globals() 和 locals() 函数
    python dir()函数
    python from…import* 语句
    python from…import 语句
    Python 模块
    python 匿名函数
    python 函数参数
  • 原文地址:https://www.cnblogs.com/staginner/p/2190540.html
Copyright © 2011-2022 走看看