⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1435.cpp

📁 这是哈尔滨工业大学acmOJ的源代码
💻 CPP
字号:
/*  This Code is Submitted by wywcgs for Problem 1435 on 2005-03-26 at 12:17:44 */ 
#include <stdio.h>
#include <string.h>

int numLen(long);

int main()
{
    long a[2][12] = {0};
    char num[101];
    int len, bit, high;
    int i, j, flag;
    
    while(gets(num) != NULL){
        if(strcmp(num, "0")){
            for(i = 0; i < 12; i++){
                a[1][i] = 0;
            }    
            len = strlen(num);
            high = len % 9;
            bit = len / 9;
            for(i = 0; i < high; i++){
                a[1][11-bit] = a[1][11-bit] * 10 + num[i] - '0';
            }
            for(i = 0; i < bit; i++){
                for(j = 0; j < 9; j++){
                    a[1][11-bit+i+1] = a[1][11-bit+i+1] * 10 + num[i*9+j+high] - '0';
                }
            }
            for(i = 0; i < 12; i++){
                a[0][11-i] += a[1][11-i];
                if(a[0][11-i] > 1000000000){
                    a[0][10-i] += (a[0][11-i] / 1000000000);
                    a[0][11-i] %= 1000000000;
                }
            }
        }else{
            break;
        }    
    }    
    flag = 0;
    for(i = 0; i < 12; i++){
        if(a[0][i] == 0){
            if(flag != 0){
                for(j = 0; j < 9; j++){
                    printf("0");
                }
            }
        }else if(a[0][i] >= 100000000){
            flag = 1;
            printf("%ld", a[0][i]);
        }else{
            if(flag != 0){    
                len = 9 - numLen(a[0][i]);
                for(j = 0; j < len; j++){
                    printf("0");
                }
            }
            printf("%ld", a[0][i]);
            flag = 1;
        }
    }
    printf("\n");
    
    return 0;
}    
            
int numLen(long a)
{
    if(a >= 100000000){
        return 9;
    }else if(a >= 10000000){
        return 8;
    }else if(a >= 1000000){
        return 7;
    }else if(a >= 100000){
        return 6;
    }else if(a >= 10000){
        return 5;
    }else if(a >= 1000){
        return 4;
    }else if(a >= 100){
        return 3;
    }else if(a >= 10){
        return 2;
    }else if(a >= 1){
        return 1;
    }else{
        return 0;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -