• HDU 1047 Integer Inquiry


    解题报告:本题就是用数组模拟大数的相加,输入的第一行是一个n,表示有n组测试数据,输入有多个大数,输入以0结尾。用数组模拟加法就可以了,编写一个

    add(char *)函数,没输入一次都将对应的位置的值加到和里面去,保存结果的数组应该定义一个int型的数组。而且数组的第一位应该保存呢结果的最高位,这样就可以方便地进行进位,只是记得在输出的时候要倒过来输就可以了。还有一个要注意的是,本题的格式比较坑,表示交了十多次都PE,因为看了disscuss里面一位同学错误的格式,晕,格式只要在输出结果的后面空一行就可以了,但测试数据的最后一组后面不要空行、

    View Code
     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<stdlib.h>
     4 char str[10005];
     5 int sum[10005];
     6 void add(char *Str) {
     7     int len=strlen(Str);
     8     int z=1;
     9     for(int i=len-1;i>=0;--i) {
    10         sum[z]+=(Str[i]-'0');
    11         sum[z+1]+=sum[z]/10;
    12         sum[z]%=10;
    13         z++;
    14     }
    15 }
    16 int main() {
    17     int Case;
    18     scanf("%d",&Case);
    19     while(Case--) {
    20         memset(sum,0,sizeof(sum));
    21         int n=0;
    22         while(scanf("%s",str)&&str[0]!='0')
    23             add(str);
    24         int biaoji=0;
    25         for(int i=10000;i>1;--i)
    26         if(biaoji==0&&sum[i]==0)
    27         continue;
    28         else {
    29             biaoji=1;
    30             printf("%d",sum[i]);
    31         }
    32         printf("%d\n",sum[1]);
    33         if(Case!=0)
    34         printf("\n");
    35     }
    36     return 0;
    37 }
  • 相关阅读:
    五:系统及数据库
    四:WEB源码扩展
    三:搭建安全拓展
    二:数据包扩展
    一:基础入门-概念名词
    LeetCode 11. Container With Most Water
    LeetCode 263. Ugly Number
    LeetCode 10. Regular Expression Matching
    LeetCode 58. Length of Last Word
    LeetCode 53. Maximum Subarray
  • 原文地址:https://www.cnblogs.com/xiaxiaosheng/p/3051433.html
Copyright © 2020-2023  润新知