一起学C#(七)

示例:进一步理解变量

作为程序员,生来就要服务于客户,善于满足客户提出的各种各样稀奇古怪的要求。

今天,有一个客户对我们说:“我从小心算能力就差,你们能不能给我写一个程序,帮我提高心算能力?我的要求不算高,你们只要给我出几道两个整数的加法题,每个数不大于100,先让我心算,然后再把正确答案显示在屏幕上就行了。”

我们看看这个要求,不是很简单吗,写个程序给他:

using System;

namespace csdn.blog.aerosea
{
  class Program
  {
    static void Main(string[] args)
    {
      Console.Write("45 + 45 = ? (按回车看正确答案)");

      Console.ReadLine();

      Console.WriteLine("45 + 45 = 90 (你做对了吗?)");

      Console.WriteLine();
      Console.WriteLine("按回车键结束。");
      Console.ReadLine();

    }
  }
}

运行结果:

很快,我们写好了程序,编译之后,交到了客户的手里。客户使用之后很满意,对我们说:“很好,我要的就是这个结果,现在,我对45+45=90掌握得非常好了,我甚至不用想就能说出这道题的结果,太好了!”

紧接着,客户又给我们提出了一些改进的意见,希望在出题时,两个整数能自己变一变,不要老是千篇一律,都是45。

这个要求对我们来说,是一个新问题,怎样让计算机帮我们想出两个不同的数呢?好在有度娘之类的搜索引擎,问一下吧。让度娘搜索一下“C# 计算机想数”,没找到,再搜“C# 计算机产生数”,找到了!

这回我们知道了随机数这个概念,还知道了数不是计算机自己想出来的,而是使用了已经写好的程序算出来的,是产生出来的。

我们很快改好了程序,编译好之后交给客户。这一次,程序每次运行,给出的两个数都不一样了。

using System;

namespace csdn.blog.aerosea
{
  class Program
  {
    static void Main(string[] args)
    {
      Random ran = new Random();  // 初始化随机数序列
      // 查看帮助,可以知道下面的语句产生大于等于1且不大于99的正整数,区间是[1,100)。
      int a = ran.Next(1, 100);  // 产生第1个数
      int b = ran.Next(1, 100);  // 产生第2个数

      Console.Write(a);  // 显示第一个数,不换行
      Console.Write(" + ");  // 接着显示一个加号,在加号的两边各有一个空格
      Console.Write(b);  // 再显示第二个数
      Console.Write(" = ? (按回车看正确答案)");  // 最后显示等于号和提示信息,不换行
      Console.ReadLine();  // 按收客户的回车,收到回车后自动换行

      Console.Write(a);  // 在新的一行上显示第一个数,不换行
      Console.Write(" + ");  // 继续显示
      Console.Write(b);  // 继续显示
      Console.Write(" = ");  // 继续显示
      Console.Write(a + b);  // 继续显示
      Console.WriteLine(" (你做对了吗?)");  // 继续显示,换行

      Console.WriteLine();  // 显示一个空行
      Console.WriteLine("按回车键结束。");  // 显示结束运行的提示信息
      Console.ReadLine();  // 接收回车后结束程序运行

    }
  }
}

客户使用之后感到很满意,但是还有一些要求,我们跟客户约好以后抽时间再交流。

比较这两个版本的程序,第一版里面压根儿没有使用变量,就顺利完成了工作。到了第二版,如果不使用变量,我们似乎不太可能完成这件工作,因为让计算机产生的随机数,如果不使用变量把它记录下来,在以后的显示和运算中,我们就没有办法知道计算机产生的是哪两个数值。

所以,变量的主要功能,就是记录数值。在写程序的时候,可能不知道需要处理的具体是什么数值,但是知道这些数的类型、范围,我们就可以使用变量来记录这些数值,并使用变量代替它们进行处理,比如显示到屏幕上,或者进行计算。

当然,第二版的程序显示代码过于繁杂了,可以简化一下,具体的内容,我们以后会学到,先看看简化之后是什么样子吧。

using System;

namespace csdn.blog.aerosea
{
  class Program
  {
    static void Main(string[] args)
    {
      Random ran = new Random();  // 初始化随机数序列
      // 查看帮助,可以知道下面的语句产生大于等于1且不大于99的正整数,区间是[1,100)。
      int a = ran.Next(1, 100);  // 产生第1个数
      int b = ran.Next(1, 100);  // 产生第2个数

      Console.Write("{0} + {1} = ? (按回车看正确答案)", a, b);
      Console.ReadLine();

      Console.WriteLine("{0} + {1} = {2} (你做对了吗?)", a, b, a + b);

      Console.WriteLine();
      Console.WriteLine("按回车键结束。");
      Console.ReadLine();

    }
  }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值