zoukankan      html  css  js  c++  java
  • HDU 1047 多个大数相加 Integer Inquiry

     

    题目:求多个大数的和

    把两个大数的求和写成函数,每次输入都用一次,解决!

    直接上代码

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 using namespace std;
     5 char sa[1000],sb[1000];
     6 int a[1000],b[1000],c[1000];
     7 void add(char sa[1000],char sb[1000]){
     8         int lena=strlen(sa);
     9         int lenb=strlen(sb);
    10         int lenc=(lena>lenb?lena:lenb);
    11         memset(a,0,sizeof(a));
    12         memset(b,0,sizeof(b));
    13 
    14         for(int j=0;j<lena;j++){
    15             a[lena-1-j]=sa[j]-'0';
    16         }
    17         for(int j=0;j<lenb;j++){
    18             b[lenb-1-j]=sb[j]-'0';
    19         }
    20         memset(c,0,sizeof(c));
    21         for (int ii=0; ii<lenc; ii++) {
    22             c[ii]=a[ii]+b[ii]+c[ii];
    23             if (c[ii]>=10) {
    24                 c[ii+1]=1;
    25                 c[ii]-=10;
    26             }
    27         }
    28         if (c[lenc]>0) lenc++;
    29 
    30         for (int ii=lenc-1; ii>=0; ii--){
    31             sb[ii]=c[lenc-1-ii]+'0';
    32         }
    33         sb[lenc]='';
    34 
    35 }
    36 int main() {
    37     int n;
    38     scanf("%d",&n);
    39     while(n--) {
    40         41         strcpy(sb,"0");
    42         while(scanf("%s",sa),strcmp(sa,"0")) {
    43             44             add(sa,sb);
    45         }
    46         puts(sb);
    47         //putchar('
    ');
    48 
    49         if(n)
    50             putchar('
    ');
    51     }
    52     return 0;
    53 }
    ---------------- 人们生成的最美好的岁月其实就是最痛苦的时候,只是事后回忆起来的时候才那么幸福。
  • 相关阅读:
    捕捉整个桌面的图片
    在Image控件中绘制文字
    绘图
    Image1.Canvas画图笔刷
    将图片序列保存为GIF文件
    拷贝剪贴板图像到窗体
    显示 png 图片
    将图片以字符串方式保存
    复制图片的一部分
    反转字符串
  • 原文地址:https://www.cnblogs.com/livelihao/p/5155483.html
Copyright © 2011-2022 走看看