11.24 作业 Problem E: 小学生算术
来源:互联网 发布:openwrt软件源地址 编辑:程序博客网 时间:2024/05/08 01:43
Description
给出两个正整数,计算两个数相加需要多少次进位。
Input
数据有多组,每组包含两个整数,都在int范围内,输入以EOF结尾
Output
一个整数,表示两个数相加需要的进位次数
Sample Input
123 321
555 555
123456789 987654321
Sample Output
0
3
9
HINT
一定要用整数求余相加判断吗?想想有没有简洁的思路。试试用字符串吧,转换思路,分步处理。
思路:
字符串储存 从最后一位开始算 相加大于10就进位
注:进位后前面一位数要+1 苟
代码:
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ char str1[100],str2[100]; while(scanf("%s",str1)!= EOF) { scanf("%s",str2); int i,j,flag = 0,flag2 = 0;//flag记录次数 flag2记录进位次数 每进位一次+1 int len1 = strlen(str1);//第一个数的长度 int len2 = strlen(str2);//第二个数的长度 int temp = 0;//temp表示相加之和 for(i = len1-1,j = len2 - 1; i>=0||j>=0; i--,j--) { temp = 0;//清空每一次的temp if(i >= 0) temp += str1[i] - 48; if(j >= 0) temp += str2[j] - 48; if(temp + flag2 >= 10) { flag2 = 1;//表示进一位 flag++; } else flag2 = 0;//表示不进位 } printf("%d\n",flag);//输出进位次数 } return 0;}
0 0
- 11.24 作业 Problem E: 小学生算术
- Problem I: 小学生算术
- 小学生算术
- 小学生算术
- 小学生算术
- 小学生算术
- 小学生算术
- 小学生算术
- 小学生算术
- 小学生算术
- 小学生算术
- 小学生算术
- 小学生算术
- 小学生算术
- 小学生算术
- 小学生算术
- 小学生算术
- 小学生算术
- codeforces contest 738
- 2016/11/24学习工作日志
- kali w3af找不到 discovery
- Unity3D:粒子特效(Particle System)播放序列帧动画
- latex 矩阵分块(block matrix)
- 11.24 作业 Problem E: 小学生算术
- Ajax异步加载将返回的map解析在页面显示
- 解决PHP 输出csv文件中文乱码
- 自动生成dimens文件
- TangYuan之Ognl设计
- Contiki之初步
- 插入排序_快速排序_二叉查找法
- 关于ADT与SDK的问题
- iOS与javascript交互