POJ 1503 Integer Inquiry

原创 2012年03月29日 21:58:01

题目:

    大整数加法,每个整数至多包含100个数字,最多100个整数相加,计算并输出结果。

输入:

     最多输入100行数据,每行输入一个正整数,输入0结束输入。

输出:

    输出所有正整数累加的结果。

解题思路:

    大整数相加,采用数组完成,每个数组保存一位数字。100个包含100位数字的大数相加,结果最多有103位,所以输入数组长度为100,结果数组长度为103。

    大数保存到数组中时需要反转,使得大数的最低位与数组下标为0的位置对应,如大数12345保存到数组中为[5,4,3,2,1]。累加时从最低位开始累加,累加时要注意加上低位的进位,每累加一位时需要计算该位向高位的进位,使每位保存的数字小于10。所有大数累加完毕后,从大数高位开始输出计算结果。

代码:

#include<stdio.h>
#include<string.h>
int main()
{
	char sum[103]={0};
	char s[101];
	int i,j,len,c;
	scanf("%s", s);
	while(1)
	{
		//结束条件 
		if(s[0]=='0' && strlen(s)==1) break;
		
		len = strlen(s);
		c=0;
		//将本次输入 累加进结果中 
		for(i=len-1,j=0; i>=0; i--,j++)
		{
			sum[j] += s[i]-'0' + c;
			c = sum[j]/10;
			sum[j]=sum[j]%10;	
		}
		//处理累加结束后遗留的进位 
		while(c>0)
		{
			sum[j]+=c;
			c=sum[j]/10;
			sum[j]=sum[j]%10;
			j++;
		}

		scanf("%s", s);
	}
	i=102;
	//去掉前导0 
	while(sum[i]==0) i--;
	//打印结果 
	if(i<0) printf("%d\n",0);
	else
	{
	 while(i>=0) printf("%d", sum[i--]);
	 printf("\n");
    }
	return 0;
}


win7运行sqlplus报错“SP2-1503: 无法初始化 Oracle 调用界面”

WIN7 64bit安装Oracle 10.2.0.1后,运行cmd-sqlplus / as sysdba会提示: C:\Users\Liu>sqlplus / as sysdba SP2-15...
  • bisal
  • bisal
  • 2013年09月21日 23:48
  • 18954

(省赛训练系列)贪心的说 poj贪心经典题目

Crossing River Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Subm...
  • u012349696
  • u012349696
  • 2015年04月05日 21:04
  • 1311

BlueTooth: 蓝牙基础知识进阶——链路控制操作

七链路控制操作链路控制操作就是用来描述一个设备是如何加入piconet又是如何从一个piconet中退出的。当然我们肯定不会忘记介绍一个设备是如何在多个piconet中夹缝生存的,呵呵~~Q1:在...
  • Augusdi
  • Augusdi
  • 2014年05月15日 14:00
  • 6622

POJ1503-Integer Inquiry

  • 2011年07月29日 20:38
  • 6KB
  • 下载

POJ 1503 Integer Inquiry

题目描述: 输入一组以0结尾的超级大数,输出这些超级大数相加的结果。 思路: 题目较为简单,但是如果直接利用数值类型存储组内数据是行不通的,因此利用字符串存储输入数据,计算结果以字符串输出。 ...
  • furney
  • furney
  • 2011年12月30日 15:19
  • 646

POJ 1503 Integer Inquiry 简单大数相加

DescriptionOne of the first users of BIT’s new supercomputer was Chip Diller. He extended his explor...
  • qq_26525215
  • qq_26525215
  • 2015年10月24日 13:59
  • 560

POJ-1503 Integer Inquiry-多个大数相加

Integer Inquiry Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 31808   Accepted:...
  • MIKASA3
  • MIKASA3
  • 2015年08月25日 16:21
  • 331

POJ 1503 Integer Inquiry(高精度整数)

原题地址http://poj.org/problem?id=1503 题意:对输入的所有大整数求和。 解题思路本题是一道涉及高精度整数的水题(超出int/long long int范围的整数),但...
  • lecholin
  • lecholin
  • 2017年03月30日 19:59
  • 200

poj 1503 Integer Inquiry(多个大数相加)

poj 1503 Integer Inquiry(多个大数相加)
  • u012860063
  • u012860063
  • 2014年08月18日 14:55
  • 733

POJ1503_Integer Inquiry

Integer Inquiry http://poj.org/problem?id=1503 Time Limit: 1000MS   Memory Limit: 10000K To...
  • github_36324732
  • github_36324732
  • 2016年11月13日 23:47
  • 68
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:POJ 1503 Integer Inquiry
举报原因:
原因补充:

(最多只允许输入30个字)