zoj1205Martian Addition
来源:互联网 发布:ubuntu调整时区 编辑:程序博客网 时间:2024/06/05 16:34
以20进制相加
注意两个操作数长度不一定相同
#include<stdio.h>#include<string.h>#include<stdlib.h>int main(){int op1[100];int op2[100];char result[102];char str[101];int carriage;int i,len1,len2,a,b,sum,j,k; while(scanf("%s",str)!=EOF){ len1 = strlen(str);for(i = 0;i<len1;i++)if(str[i]>='a'&&str[i]<='j') op1[i] = str[i] -'a' + 10;else op1[i] = str[i] - '0';scanf("%s",str);len2 = strlen(str);for(i = 0;i<len2;i++)if(str[i]>='a'&&str[i]<='j') op2[i] = str[i] -'a' + 10;else op2[i] = str[i] - '0';for(i = len1 - 1,j = len2 -1,carriage = 0,k = 0; i>=0||j>=0;i--,j--,k++){if(i < 0 ) sum = op2[j] + carriage;else if(j<0) sum = op1[i]+ carriage;else sum = op1[i] + op2[j] + carriage;carriage = sum / 20;sum = sum % 20;if(sum >= 10) result[k] = sum -10 + 'a';else result[k] = sum + '0';} if(carriage) { if(carriage >= 10) result[k++] = carriage - 10 +'a'; else if(carriage) result[k++] = carriage +'0'; } for(i = k-1;i>=0;i--) putchar(result[i]); printf("\n");}return 0;}
0 0
- zoj1205Martian Addition
- Martian Addition
- ZOJ_1205_Martian Addition
- Strange Addition
- Simple Addition
- binary addition
- Learning Addition
- NSArray+Addition
- NSDate+Addition
- NSDictionary+Addition
- NSString+Addition
- UIImage+Addition
- Range Addition
- Range Addition
- Range Addition
- 14.7.4 Addition operator
- fjnu 1865 Martian Addition
- ZOJ 1205 Martian Addition
- Eclipse插件开发中创建java工程的代码
- JSONKit的使用方法
- HBase shell commands
- Trainmaster Standard Time
- ORACLE-12C简单了解
- zoj1205Martian Addition
- Lateral View语法
- ObjectC中弥补switch参数不能为字符串的方法(主要通过block特性)
- 悼念512汶川大地震遇难同胞——来生一起走
- [JZOJ 1280]最大匹配
- CocoaPods安装和使用教程
- hive merge小文件
- 第一次在CSDN上写文章~
- 操作系统的自我修养-04 从U盘启动MerxOs操作系统