A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© monkey 中级黑马   /  2014-2-14 10:16  /  1450 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 monkey 于 2014-2-14 14:51 编辑

描述
很多小学生在学习加法时,发现“进位”特别容易出错。你的任务是计算两个三位数在相加时需要多少次进位。你编制的程序应当可以连续处理多组数据,直到读到两个0(这是输入结束标记)。
输入
输入两个正整数m,n.(m,n,都是三位数)
输出
输出m,n,相加时需要进位多少次。
样例输入
123 456
555 555
123 594
0 0
样例输出
0
3
1

3 个回复

倒序浏览
本帖最后由 wushanwow 于 2014-2-14 18:55 编辑

不明觉厉~~不明觉厉~~不明觉厉~~
回复 使用道具 举报

还有更简便的数学方法,多多思考
回复 使用道具 举报
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace 控制台应用5
  6. {
  7.     class Program   //             很多小学生在学习加法时,发现“进位”特别容易出错。你的任务是计算两个三位数在相加时需要多少次进位。
  8.                     //         你编制的程序应当可以连续处理多组数据,直到读到两个0(这是输入结束标记)。
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             bool kongzhi=true;              //控制什么时候退出循环
  13.             while (kongzhi)                  //循环执行
  14.             {
  15.                 Console.WriteLine("请输入第一个三位数");
  16.                 string shu1 = Console.ReadLine();
  17.                 Console.WriteLine("请输入第二个三位数");
  18.                 string shu2 = Console.ReadLine();
  19.                 if (Convert.ToInt32(shu1) == 0 && Convert.ToInt32(shu2) == 0)      //判断输入的是否都是0
  20.                 {
  21.                     kongzhi = false;                                           //关闭循环
  22.                 }
  23.                 else                                                     //如果不是0
  24.                 {
  25.                     int s1b, s1s, s1g, s2b, s2s, s2g, js = 0, gjs = 0, sjb = 0;    //把输入的每一位数字都拿出来
  26.                     s1b = Convert.ToInt32(shu1.Substring(0, 1));
  27.                     s1s = Convert.ToInt32(shu1.Substring(1, 1));
  28.                     s1g = Convert.ToInt32(shu1.Substring(2, 1));
  29.                     s2b = Convert.ToInt32(shu2.Substring(0, 1));
  30.                     s2s = Convert.ToInt32(shu2.Substring(1, 1));
  31.                     s2g = Convert.ToInt32(shu2.Substring(2, 1));

  32.                     if (s1g + s2g >= 10)                            //比较个位数
  33.                     {
  34.                         js++;                                     //进位次数加一
  35.                         gjs = 1;                                   //等一会给十位+1
  36.                         Console.WriteLine("个位进一");
  37.                     }
  38.                     if (s1s + s2s + gjs >= 10)                   //比较十位
  39.                     {
  40.                         js++;
  41.                         sjb = 1;
  42.                         Console.WriteLine("十位进一");
  43.                     }
  44.                     if (s1b + s2b + sjb >= 10)                   //比较百位
  45.                     {
  46.                         js++;
  47.                         Console.WriteLine("百位进一");
  48.                     }
  49.                     Console.WriteLine("一共"+js+"次进位");           //输出
  50.                     Console.WriteLine("------------------------------------------------------");
  51.                 }
  52.             }
  53.             Console.WriteLine("按任意键退出");
  54.             Console.ReadKey();
  55.         }
  56.     }
  57. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马