hdu 1002 A + B Problem II (大数相加)
来源:互联网 发布:最好的收音机软件 编辑:程序博客网 时间:2024/05/29 07:48
看题目请点这里
题意:
求两个数的和,可能是很大的数。
代码1:
#include<stdio.h>#include<string.h>int i,j,len,len1,len2;void ab(int *a,int *b) //自定义求和函数{ int t; for(t=i=0;i<=len;i++) { a[i]+=(b[i]+t); //把数组b里的数字加到a数组里 t=a[i]/10; //t为进位数 a[i]%=10; }}int main(){ int t=0,n,a[1001],b[1001]; char c1[1001],c2[1001]; scanf("%d",&n); while(n--) { memset(a,0,sizeof(a)); //全赋值为0 memset(b,0,sizeof(b)); scanf("%s %s",c1,c2); printf(t++>0 ? "\nCase %d:\n%s + %s = " : "Case %d:\n%s + %s = ",t,c1,c2); len1=strlen(c1); for(i=0;i<len1;i++) { a[i]=c1[len1-1-i]-'0'; //字符转换成数字,倒序存放,方便求和 } len2=strlen(c2); for(i=0;i<len2;i++) { b[i]=c2[len2-1-i]-'0'; } len=len1>len2?len1:len2; ab(a,b); if(a[len]==0) //判断求和之后的长度的len还是len-1 { len-=1; } for(i=len;i>=0;i--) { printf("%d",a[i]); } putchar('\n'); } return 0;}
#include<stdio.h>#include<ctype.h>#include<string.h>int main(){ int c=0,n,len,t,i; char c1[1001],c2[1001]; scanf("%d",&n); while(n--) { memset(c1,'\0',sizeof(c1)); memset(c2,'\0',sizeof(c2)); scanf("%s %s",c1,c2); if(c++) { putchar('\n'); } printf("Case %d:\n%s + %s = ",c,c1,c2); len=(strlen(c1)>=strlen(c2)?strlen(c1):strlen(c2)); strrev(c1); //将数倒过来 strrev(c2); t=0; for(i=0;i<len;i++) { if(!isdigit(c1[i])) { c1[i]='0'; } if(!isdigit(c2[i])) { c2[i]='0'; } if((c1[i]-'0'+c2[i]-'0'+t)>9) //逐个相加,并用t保存进位情况 { c1[i]=(c1[i]-'0'+c2[i]-'0'+t-10+'0'); t=1; } else { c1[i]+=(c2[i]-'0'+t); t=0; } } if(t==1) { putchar('1'); } c1[len]='\0'; strrev(c1); puts(c1); } return 0;}
- hdu 1002 A + B Problem II (大数相加)
- HDU 1002 A + B Problem II 【大数相加】(3.16)
- hdu 1002 A + B Problem II(大数相加)
- hdu 1002 A + B Problem II(大数相加)
- HDU 1002 A + B Problem II 大数相加
- HDU 1002 A + B Problem II大数相加
- HDU 1002 A+B Problem II 大数相加
- HDU 1002 A + B Problem II(大数相加)
- hdu 1002 A + B Problem II (大数相加)
- HDU 1002 A + B Problem II 大数相加
- HDU 1002 A + B Problem II(两个大数相加)
- hdoj HDU 1002 A + B Problem II 大数相加
- HDU 1002 - A + B Problem II (大数相加)
- (大数相加)HDU 1002 A + B Problem II
- hdu 1002 A + B Problem II(大数相加)
- HDOJ 1002 A + B Problem II(大数相加)
- [ACM]hdu 1002 A + B Problem II (复习大数相加)
- hdu1002 A + B Problem II(大数相加)
- 从1到n的正数中1的出现次数,第一个只出现一次的字符
- uboot中main_loop分析
- 寻找数组中出现次数超过一半的数字
- Java EE 6权威指南:第4版.基础篇(Oracle Java EE 6文档团队成员精准解说Java EE 6平台)
- Aegis:让iPhone成为坚不可摧的诺基亚
- hdu 1002 A + B Problem II (大数相加)
- android 网络请求方式 例子
- 微博发布时间不正确,如何调整?
- 超链接中的javascript:void(0)问题
- linux驱动开发 主设备号与次设备号
- 如何确定C++继承层次中的函数调用
- 黑马程序员——Thread.interrupt()清除线程冻结状态
- 把字符串转换成整数
- C++中的临时变量