• HDOJ1002


    #include<stdio.h>
    #include<string.h>
    int main()
    {
    char a[1000],b[1000];
    int c[1005];
    char ch;
    int len_a,len_b;
    int idx_c,len_c;
    int sum;
    int i,j;
    len_a = 0;
    len_b = 0;
    scanf("%d",&sum);
    //读取数据
    for(j=0 ; j<sum ;j++)
    {
    //读取缓存区数据
    memset(c,0,sizeof(int)*1005);
    scanf("%s",a);
    scanf("%s",b);
    len_a = strlen(a)-1; //这里是下标而不是长度。
    len_b = strlen(b)-1;
    //确定结果的长度
    if(len_a >= len_b)
    {
    idx_c = len_a+1;
    len_c = idx_c;
    }
    else
    {
    idx_c = len_b+1;
    len_c = idx_c;
    }
    //进行相加的操作
    do
    {
    c[idx_c] = c[idx_c]+a[len_a]-'0'+b[len_b]-'0';
    if(c[idx_c] >= 10)
    {
    c[idx_c] %= 10;
    c[idx_c-1] += 1;
    }
    idx_c--;
    len_a--;
    len_b--;
    }while(len_a!=-1 && len_b!=-1 );

    while(len_a != -1)
    {
    c[idx_c] = c[idx_c]+a[len_a]-'0';
    if(c[idx_c] >= 10)//这里要进行进位判断
    {
    c[idx_c] %= 10;
    c[idx_c-1] += 1;
    }
    idx_c--;
    len_a--;
    }
    while(len_b != -1)
    {
    c[idx_c] = c[idx_c]+b[len_b]-'0';
    if(c[idx_c] >= 10)
    {
    c[idx_c] %= 10;
    c[idx_c-1] += 1;
    }
    idx_c--;
    len_b--;
    }

    printf("Case %d:\n%s + %s = ",j+1,a,b);
    if(c[idx_c] != 0) //看这个位是否有"值"
    printf("%d", c[idx_c]);
    for(i = idx_c + 1; i <= len_c ; i++)
    {
    printf("%d", c[i]);
    }

    if(j == sum-1)
    printf("\n");
    else
    printf("\n\n");
    }
    return 0;

    }
    字节跳动内推

    找我内推: 字节跳动各种岗位
    作者: ZH奶酪(张贺)
    邮箱: cheesezh@qq.com
    出处: http://www.cnblogs.com/CheeseZH/
    * 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    pycharm 社区版运行flask app相关配置
    飞冰框架学习记录
    从上一次到现在总结2
    从上一次到今天的总结1
    mybatis 遇到空串无法判断
    Shell 脚本入门
    数据库批量插入数据
    Navicat for mysql 实现数据库自动备份
    自定义校验注解
    C++ 提高编程
  • 原文地址:https://www.cnblogs.com/CheeseZH/p/2397049.html
Copyright © 2020-2023  润新知