黑马程序员技术交流社区

标题: 算数 [打印本页]

作者: monkey    时间: 2014-2-14 10:16
标题: 算数
本帖最后由 monkey 于 2014-2-14 14:51 编辑

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

作者: wushanwow    时间: 2014-2-14 12:39
本帖最后由 wushanwow 于 2014-2-14 18:55 编辑

不明觉厉~~不明觉厉~~不明觉厉~~
作者: monkey    时间: 2014-2-14 14:23
wushanwow 发表于 2014-2-14 12:39

还有更简便的数学方法,多多思考
作者: j6495345    时间: 2014-2-14 15:16
  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. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2