zoukankan      html  css  js  c++  java
  • Integer Inquiry UVA-424(大整数)

    题意分析: 将字符串倒着存入int数组中,每次加完后再取余除去大于10的部分

    关键:倒着存入,这样会明显缩短代码量。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    const int maxn = 100 + 10;
    char s[maxn];       /*用于读字符串*/
    int a[maxn];        /*暂时储存*/
    int b[maxn];        /*最后读出*/
    int main()
    {
        memset(b, 0, sizeof(b));
        while(~scanf("%s", s) && strcmp(s, "0"))        /*如果只输入0,结束input*/
        {
            memset(a, 0, sizeof(a));
            int len = strlen(s);
            for(int i = 0; i < len; i++)
                a[i] = s[len - i - 1] - '0';      /*倒着读入,方便累加*/
            for(int i = 0; i < len; i++)
                b[i] += a[i];
            for(int i = 0; i < len; i++)
            {
                b[i+1] += b[i]/10;
                b[i] = b[i] % 10;
            }
        }
        int end_ = 109;     /*直接从最后开始判*/
        while(!b[end_]) end_--;             /*这样判的原因是没有一个数是以0为开头的*/
    
        for(int i = end_; i >= 0; i--)
            cout << b[i];
        cout << endl;
        return 0;
    }
    
  • 相关阅读:
    点击鼠标上下滚动
    点击小圆圈切换图片(基础)
    js取整数、取余数的方法
    几张图片滚动切换
    (转)iPhone +ipad尺寸规范(界面 & 图标)
    基础选择分类
    JDBC事务
    JDBC
    mysql
    网络编程三要素
  • 原文地址:https://www.cnblogs.com/KeepZ/p/11143788.html
Copyright © 2011-2022 走看看