C#实验2流程控制异常处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二流程控制异常处理
实验要求:
熟练掌握程序的三种流程结构,对于实际的应用问题能够理解并灵活运用;对于VS下中断模式,能够对于运行过程中的错误及时进行处理,掌握异常处理机制。
一、流程控制
1. 随机生成一个1-100之间的一个数,并由玩家进行猜测,提示玩家是猜大了还是猜小了或者猜对了。
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int x;
Random ra = new Random();
int y = ra.Next(1, 100);
Console.WriteLine("输?入?1~100,退?出?输?入?0");
x = int.Parse(Console.ReadLine());
if (x!=0)
{
while (x!=0)
{
if (x < 0 || x > 100)
{
Console.WriteLine("输?入?值μ超?出?范?围§");
x = int.Parse(Console.ReadLine());
continue;
}
else if (x > y)
Console.WriteLine("大洙?了?");
else if (x < y)
Console.WriteLine("小?了?");
else if (x == y)
{
Console.WriteLine("对?了?,?继ì续?输?入?y,退?出?输?入?n");
string s = Console.ReadLine();
if (s == "y")
y = ra.Next(1, 100);
else if(s=="n")
return;
else
Console.WriteLine("输?入?不?正y确ā?);
}
x = int.Parse(Console.ReadLine());
}
}
else if (x == 0)
return;
Console.ReadKey();
}
}
}
2.已知在同一个笼子里总共有h只鸡和兔,鸡和兔的总脚数为f 只,其中,h和f由用户输入,求鸡和兔各有多少只?
using System;
using System.Collections.Generic;
using System.Text;
namespace鸡|兔?同?
{
class Program
{
static void Main(string[] args)
{
int chicken, rabbit;
Console.WriteLine("请?输?入?鸡|和í兔?的?总哩?个?数簓:阰");
int h = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请?输?入?鸡|和í兔?的?脚?的?总哩?数簓:阰");
int f = Convert.ToInt32(Console.ReadLine());
while (f%2!=0)
{
Console.WriteLine("脚?的?数簓量?必?须?为a偶?数簓,?请?重?新?输?入?:阰");
f = Convert.ToInt32(Console.ReadLine());
}
bool b = false;
for (rabbit = 0; rabbit <= h; rabbit++)
{
chicken = h - rabbit;
if (rabbit * 4 + chicken * 2 == f)
{
Console.WriteLine("鸡|{0}只?,?兔?{1}只?", chicken, rabbit);
b = true;
}
}
if (b == false)
Console.WriteLine("此?题琣无T解a。£");
Console.ReadLine();
}
}
}
二、异常处理
3.一个简单的应用程序编写代码,其中包含一个循环,该循环在运行5000次后产生一个错误。使用断点在第5000次循环出现错误前进入中断模式。(注意产生错误的一个简单方式是试图访问一个不存在的数组元素。)
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int i;
for (i = 1; i < 10000; i++)
{
Console.WriteLine("loop cycle {0}", i);
if (i == 5000)
{
Console.WriteLine(args[999]);
}
}
Console.ReadLine();
}
}
4.将下列代码加入你的代码中,如果代码运行出错,打印错误提示信息。
int[] array = new int[]{1,2};
array[2] = 5