九度OJ 1015:还是A+B (基础题)
来源:互联网 发布:大数据就业资薪是多少 编辑:程序博客网 时间:2024/04/27 14:10
- 题目描述:
- 读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1。
- 输入:
测试输入包含若干测试用例,每个测试用例占一行,格式为"A B K",相邻两数字有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。
- 输出:
对每个测试用例输出1行,即A+B的值或者是-1。
- 样例输入:
1 2 111 21 1108 8 236 64 30 0 1
- 样例输出:
3-1-1100
- 来源:
- 2006年浙江大学计算机及软件工程研究生机试真题
思路:
基础题,不解释。
代码:
#include <stdio.h>#include <string.h>int praseStr(char s[20]){ int a = 0; int i; for (i=0; i<strlen(s); i++) a = a*10 + s[i]-48; //printf("%d\n", a); return a;}int main(void){ char sa[20], sb[20]; int i, k, a, b, ai, bi; while (scanf("%s%s%d", sa, sb, &k) != EOF) { if (strcmp(sa, "0") ==0 && strcmp(sb, "0") ==0) break; for (i=0; i<k; i++) { if (i >= strlen(sa)) ai = 0; else ai = sa[strlen(sa)-1-i] - 48; if (i >= strlen(sb)) bi = 0; else bi = sb[strlen(sb)-1-i] - 48; //printf("ai %d bi %d\n", ai, bi); if (ai != bi) break; } if (i == k) printf("-1\n"); else { a = praseStr(sa); b = praseStr(sb); printf("%d\n", a+b); } } return 0;}
0 0
- 九度OJ 1015:还是A+B (基础题)
- 九度OJ 1015 还是A+B
- 九度OJ-1015-还是A+B
- 九度oj 1015 还是A+B
- 九度OJ 1015 还是A+B
- 九度OJ---还是A+B
- 九度OJ—题目1015:还是A+B
- 九度OJ 题目1015:还是A+B
- 九度OJ-题目1015:还是A+B
- 九度OJ:题目1015 还是A+B
- 【九度OJ】题目1015:还是A+B 解题报告
- 九度OJ-题目1015 还是A+B
- 九度OJ题目1015:还是A+B
- 九度OJ 题目1015:还是A+B
- 题目1015:还是A+B 九度OJ
- 九度oj 题目1015:还是A+B 【ZJU2006考研机试题1】
- 九度1015 还是A+B
- 九度题目1015:还是A+B
- Android混淆那些事儿
- set方法和get方法
- stl源码剖析
- php开发日记之微信开发模式
- KMP算法学习三阶段由浅入深
- 九度OJ 1015:还是A+B (基础题)
- 【php】利用单例模式设计数据库连接Model类
- ios presentViewController:destinationView跳转后黑屏问题
- Android上Chrome的远程调试
- 应用上传
- python下smtp发送邮件
- 【组合计数dp】UVA 11401Triangle Counting
- 欢迎使用CSDN-markdown编辑器
- 需求跟踪矩阵