备战考研算法笔记(三)a+b
2013-07-20 16:05
176 查看
题目描述:
实现一个加法器,使其能够输出a+b的值。
输入:
输入包括两个数a和b,其中a和b的位数不超过1000位。
输出:
可能有多组测试数据,对于每组数据,
输出a+b的值。
样例输入:
样例输出:
运行一下跟我结果一样 ,为什么我错了呢????
实现一个加法器,使其能够输出a+b的值。
输入:
输入包括两个数a和b,其中a和b的位数不超过1000位。
输出:
可能有多组测试数据,对于每组数据,
输出a+b的值。
样例输入:
2 6 10000000000000000000 10000000000000000000000000000000
样例输出:
8 10000000000010000000000000000000 这是我的代码
// OJ.cpp : 定义控制台应用程序的入口点。 // #include "stdio.h" #include "StdAfx.h" #include <string.h> int main() { char a[1010]; char b[1010]; char result[1000]={0}; while(scanf("%s%s",a,b)!=EOF) { int m= strlen(a); int n=strlen(b); char result[1010]={0}; //printf("%s %d\n",a,m); //printf("%s %d\n",b,n); if(m>n) { int i=1; for(i;i<=n;i++) { result[m-i]+=a[m-i]+b[n-i]-48; if(result[m-i]>57) { result[m-i]-=10; result[m-i-1]+=1; } } i=0; for(i;i<m-n;i++) { result[i]=a[i]+result[i]; } printf("%s\n",result); } else if(m<n) { int i=1; for(i;i<=m;i++) { result[n-i]+=a[m-i]+b[n-i]-48; if(result[n-i]>57) { result[n-i]-=10; result[n-i-1]+=1; } } i=0; for(i;i<n-m;i++) { result[i]=b[i]+result[i]; } printf("%s\n",result); } else if(m==n) { int i=1; for(i;i<=m;i++) { result[n-i]+=a[m-i]+b[n-i]-48; if(result[n-i]>57) { if(i==n) { result[n-i]-=10; printf("1"); } else { result[n-i]-=10; result[n-i-1]+=1; } } } printf("%s\n",result); } } return 0; }
可是没AC 这是找的已经AC的
#include "StdAfx.h" #include<stdio.h> #include<string.h> #define N 1010 int main(void) { char num1 ,num2 ; int length1,length2,c,k,i; while(scanf("%s%s",num1,num2) == 2) { int a = {0},b = {0}; length1 = strlen(num1); length2 = strlen(num2); if(length1 < length2) { k = length2; }else { k = length1; } c = k; for(i=0; i<length1; k--,i++) { a[k] = num1[length1 - 1 - i] - '0'; } for(i=0,k=c; i<length2; k--,i++) { b[k] = num2[length2 - 1 - i] - '0'; } for(i=c; i>0; i--) { a[i] += b[i]; if(a[i]>=10) { a[i] -= 10; a[i-1]++; } } if(a[0] != 0) { for(i=0; i<=c; i++) { printf("%d",a[i]); } }else { for(i=1; i<=c; i++) { printf("%d",a[i]); } } printf("\n"); } return 0; }
运行一下跟我结果一样 ,为什么我错了呢????
不过人家的代码的确写的思路清晰,一看就懂
相关文章推荐
- 备战考研算法笔记(九)IP地址
- 备战考研算法笔记(二) 奇偶校验
- 备战考研算法笔记(六) 八进制
- 备战考研算法笔记(七)最长&最短文本
- 备战考研算法笔记(一) 字符串处理
- 备战考研算法笔记(五)成绩排序
- 备战考研算法笔记(十)找位置
- 备战考研算法笔记(十一)最大的两个数
- 备战考研算法笔记(八)N阶楼梯上楼问题
- 备战考研算法笔记(四)快速排序
- 【注】【精】【火】博主考研去了,现在的博文都是以前的笔记或者算法。
- 哲学思想与算法开发-考研笔记
- 算法笔记_018:旅行商问题(Java)
- 算法导论学习笔记---第三章
- 算法学习笔记----最大子数组问题
- 算法学习笔记:关联分析(转)
- 算法及相关知识学习笔记
- 学习笔记:聚类算法Kmeans/K-均值算法
- 读书笔记-->第二张 算法 -->《大话数据结构》
- STL源码剖析 笔记之六 算法