【1753】带小数点的字符串处理,教你如何做人(╯‵□′)╯︵┻━┻

#include<stdio.h>
#include<string.h>
int l1,l2,l3,l4,s1[410],s2[410],s3[410],s4[410],s5[420];
void div(char x[],int a[],int b[],int &d,int &e){
    int l=strlen(x);d=e=0;
    while (x[d]!=‘.‘&&d<=l) d++;
    if (d<l){
        for (int i=0;i<=d-1;i++)
            a[d-i]=x[i]-‘0‘;
        for (int i=d+1;i<l;i++)
            b[i-d-1]=x[i]-‘0‘;
        e=l-d-1;
    }
    else{
        for (int i=0;i<l;i++)
            a[l-i]=x[i]-‘0‘;
        d=l;
    }
}

int cal(int n,int c){
    int t;
    for (int i=1;i<=n;i++){
        t=s1[i]+s3[i]+c;
        s1[i]=t%10;
        c=t/10;
    }
    if (c) {s1[n+1]=c;return n+1;}//ma
    else return n;
}

int calx(int n){
    int t,c=0;
    for(int i=n-1;i>=0;i--){
        t=s2[i]+s4[i]+c;
        s5[i]=t%10;
        c=t/10;
    }
    return c;
}

int main(){

    char x[420],y[420];
    int c;

    while(scanf("%s%s",x,y)!=EOF){
        c=0;
        memset(s1,0,sizeof (s1));
        memset(s2,0,sizeof (s2));
        memset(s3,0,sizeof (s3));
        memset(s4,0,sizeof (s4));
        memset(s5,0,sizeof (s5));

        div(x,s1,s2,l1,l2);
        div(y,s3,s4,l3,l4);

        if (l2>=l4) c=calx(l2);
        else c=calx(l4);

        if (l1>l3) l1=cal(l1,c);
        else l1=cal(l3,c);

        for (int i=l1;i>0;i--)
            printf("%d",s1[i]);

        int z=400;
        while (s5[z]<=0) z--;
            if (z>=0) {
                printf(".");
                for (int i=0;i<=z;i++)
                    printf("%d",s5[i]);
            }
        printf("\n");
    }
    return 1;
}

1753

今天简直被字符串教做人了(╯‵□′)╯︵┻━┻

时间: 2024-11-05 02:36:39

【1753】带小数点的字符串处理,教你如何做人(╯‵□′)╯︵┻━┻的相关文章

python 带小数点时间格式化

#获取带小数点的时间>>> import datetime #当前时间加3天 >>> t1 = datetime.datetime.now() + datetime.timedelta(days=3) >>> print(t1) 2017-04-03 10:42:50.714910 将带小数点的时间字符串解析 >>> time.strptime('2017-06-07 21:39:34.352885','%Y-%m-%d %H:%M:

带属性的字符串 NSMutableAttributedString/NSAttributedString

由于iOS7新出的NSTextStorge是NSMutableAttributedString的子类,所以要用好NSTextStorage,首先要学好NSMutableAttributedString和NSAttributedString. 按个人的理解,NSAttributedString是一个带有属性的字符串,通过该类可以灵活地操作和呈现多种样式的文字数据. alignment //对齐方式 firstLineHeadIndent //首行缩进 headIndent //缩进 tailInd

批处理命令:带参数的字符串替换

批处理命令:带参数的字符串替换 @echo off setlocal enabledelayedexpansion set main_str=hello world set src=hello set dst=hi echo %main_str% set sub_str=!main_str:%src%=%dst%! echo %sub_str%

处理一个数字加小数点的字符串

/* * 处理一个数字加小数点的字符串,前面无0,保留两位.网上有循环截取的方法,如果数字过长,浪费内存,这个方法在优化内存的基础上设计的. */ -(NSString*)getTheCorrectNum:(NSString*)tempString { //先判断第一位是不是 . ,是 . 补0 if ([tempString hasPrefix:@"."]) { tempString = [NSString stringWithFormat:@"0%@",temp

c语言中读入带空格的字符串

http://blog.csdn.net/pipisorry/article/details/37073023 问题: scanf("%s", a); 运行输入hello world 回车 则输入到a的只是空格之前的部分,怎样把空格之后的部分也输出? 1. scanf( "%[^\n]", str ); #include <stdio.h> int main(){ char str[50]; scanf( "%[^\n]", str

C#中两个整数相除得到带小数点的结果

有时候需要将两个整数相除,获得带小数点的float类型数.例如一个整数12345,需要变成123.45.常见与串口与硬件通讯,DSP处理浮点型比较麻烦,DSP传递来的温度等数据都以整型的方式传递,串口控件接收到数据后,需要将温度值变成实际的值,就可能采用这种方式了. 例如: int itemp=3706; //实际值37.06℃int iNum=100; float ftemp = itemp/ iNum;那么结果就是37:而需要得到带小数点的结果,有以下几种方法: 1.double dtemp

POI 导出excel带小数点的数字格式显示不对解决方法

最近看到了一个问题就是java导出excel中带小数点的数字显示不对, 比如我想在excel中第一行显示:  3,000.0 但是在excle中导出的格式总是不带小数点 3000(非文本格式),而且也不是以金融格式显示的.这时候我们的解决方法是要为单元格中的数字设置dataformat.代码如下 import java.io.FileOutputStream; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.h

java正则表达式匹配所有数字,包括带小数点的数字

用于匹配的正则表达式为 :([1-9]\d*\.?\d*)|(0\.\d*[1-9]) ( [1-9] :匹配1~9的数字: \d :匹配数字,包括0~9: * :紧跟在 \d 之后,表明可以匹配零个及多个数字: \. :匹配小数点: ? :紧跟在 \. 之后,表明可以匹配零个或一个小数点: 0 :匹配一个数字0: )其中的 [1-9]\d*\.?\d* 用以匹配诸如:1.23.34.0.56.78 之类的非负的整数和浮点数: 其中的 0\.\d*[1-9] 用以匹配诸如:0.1.0.23.0.

C++大数精度计算(带小数点)

转: (原出处不可考,若有侵权,请联系我立即删除) 头文件: // WTNumber.h: interface for the CWTNumber class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_WTNUMBER_H__92E62B40_491A_4A75_AB89_FFB160DB2343__INCLUDED_) #define AFX_WTNUM