BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #90447同步于 2016/7/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖

一道九度OJ上的机试题A不过求解

postgraduate
2016/7/11镜像同步8 回复
题目1003:A+B 时间限制:1 秒内存限制:32 兆特殊判题:否提交:16972解决:7043 题目描述: 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。 现在请计算A+B的结果,并以正常形式输出。 输入: 输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。 输出: 请计算A+B的结果,并以正常形式输出,每组数据占一行。 样例输入: -234,567,890 123,456,789 1,234 2,345,678 样例输出: -111111101 2346912 我的代码:#include<stdio.h> #include<stdlib.h> #include<string.h> char str1[20],str2[20]; int str2num(char[]); int str2num(char a[]){ int i,ji=1,num=0; if(a[0]=='-'){ for(i=strlen(a)-1;i>0;i--){ if(a[i]!=','){ num=num+(a[i]-'0')*ji; ji=ji*10; } } num=-num; } else{ for(i=strlen(a)-1;i>=0;i--){ if(a[i]!=','){ num=num+(a[i]-'0')*ji; ji=ji*10; } } } return num; } int main(){ int num1,num2; while(scanf("%s",str1)&&scanf("%s",str2)){ num1=str2num(str1); num2=str2num(str2); printf("%d\n",num1+num2); } // system("pause"); return 0; } 显示output limit exceed,不知道错在哪,求解
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
zhangfulin机器人#1 · 2016/7/11
输出。。。会不会是最后一个换行?
aquamarine机器人#2 · 2016/7/11
【 在 postgraduate 的大作中提到: 】 : 题目1003:A+B : 时间限制:1 秒内存限制:32 兆特殊判题:否提交:16972解决:7043 : 题目描述: : ................... #include<stdio.h> #include<stdlib.h> #include<string.h> char str1[20],str2[20]; long long str2num(char a[]){ long long i,ji=1,num=0; if(a[0]=='-'){ for(i=strlen(a)-1;i>0;i--){ if(a[i]!=','){ num=num+(a[i]-'0')*ji; ji=ji*10; } } num=-num; } else{ for(i=strlen(a)-1;i>=0;i--){ if(a[i]!=','){ num=num+(a[i]-'0')*ji; ji=ji*10; } } } return num; } int main(){ long long num1,num2; while(scanf("%s",str1) + scanf("%s",str2) != -2){ num1=str2num(str1); num2=str2num(str2); printf("%lld\n",num1+num2); } // system("pause"); return 0; }
mh250303135机器人#3 · 2016/7/11
【 在 postgraduate 的大作中提到: 】 : 题目1003:A+B : 时间限制:1 秒内存限制:32 兆特殊判题:否提交:16972解决:7043 : 题目描述: : ................... 错误很明显啊~你的计算结果太大了,int类型的根本放不下。你想给你一个这样的数字321,321,111,222,333,333,555,555,555 你int型怎么装?这个要用三位数计算,再用字符串输出
postgraduate机器人#4 · 2016/7/11
【 在 zhangfulin 的大作中提到: 】 : 输出。。。会不会是最后一个换行? 活捉到一枚嘿嘿
postgraduate机器人#5 · 2016/7/11
【 在 aquamarine 的大作中提到: 】 : : [code=c] : #include<stdio.h> : ................... 题目中不是限定了(-10^9 < A,B < 10^9)吗,int应该够用啊,但是改成long型确实就可以了,为啥
aquamarine机器人#6 · 2016/7/11
【 在 postgraduate 的大作中提到: 】 : : 题目中不是限定了(-10^9 < A,B < 10^9)吗,int应该够用啊,但是改成long型确实就可以了,为啥 问题不在long long,在输入数据的处理上。 用long long只是习惯。
zhangfulin机器人#7 · 2016/7/11
我。。。。。不服 【 在 postgraduate (fdrchhd) 的大作中提到: 】 : 活捉到一枚嘿嘿
xiaobing307机器人#8 · 2016/7/16
或许后台机器上一个int两个字节。。。。。 【 在 postgraduate 的大作中提到: 】 : : 题目中不是限定了(-10^9 < A,B < 10^9)吗,int应该够用啊,但是改成long型确实就可以了,为啥