【实验目的】 1.熟悉Visual Studio2008|2010集成开发环境。 2.掌握C#的数据类型、六大类运算符及优先级。 3.掌握条件语句、循环语句及跳转语句的使用 4.掌握一维数组和二维数组的使用。 【实验内容】 在VS2008|2010环境下,编写控制台应用程序,实现下述功能: 1.一列数的规则如下:1、1、2、3、5、8、13、21、34......。求第30位数是多少? 2.输入一个年份,判断是否润年(被4整除,且不被100整除,或者被400整除) 3.设计一个程序,输入10个数存入数组中,求最大值、最小值和平均值. 4.设计一个程序,输入10个数存入数组中,然后实现冒泡排序。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static int fib(int n)
{
if (n == 1)
return 1;
if (n == 2)
return 1;
else
return fib(n - 1) + fib(n - 2);
}
static void Main(string[] args)
{
//string input;
int input=0, choose=0;
int[] arry=new int[10];
Console.WriteLine("1.实验1\n2.实验2\n3.实验3\n4.实验4\n");
while (true)
{
Console.WriteLine("输入实验编号:");
try
{
choose = int.Parse(Console.ReadLine());
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
switch(choose)
{
case 1:
Console.WriteLine("实验1\n输入位数:");
try
{
input = int.Parse(Console.ReadLine());
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Console.WriteLine(fib(input));
break;
case 2:
Console.WriteLine("实验2\n输入年份:");
try
{
input = int.Parse(Console.ReadLine());
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Console.WriteLine((input % 400 == 0 || (input % 4 == 0 && input % 100 != 0)) ? "闰年" : "不是闰年");
break;
case 3:
Console.WriteLine("实验3\n输入10个数:");
for (int i = 0; i < 10; i++)
{
try
{
arry[i] = Convert.ToInt32(Console.ReadLine());
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
int max = arry[0], min = arry[0], sum = 0;
//Console.WriteLine(arry[0]);
foreach (int var in arry)
{
if (var > max)
max = var;
if (var < min)
min = var;
sum += var;
//Console.WriteLine(var);
}
//Console.WriteLine("最大值:",max,"\n最小值:",min,"\n平均值:",sum/10);
Console.WriteLine("最大值:");
Console.WriteLine(max);
Console.WriteLine("最小值:");
Console.WriteLine(min);
Console.WriteLine("平均值:");
Console.WriteLine(sum / 10);
break;
case 4:
Console.WriteLine("实验4\n输入10个数:");
for (int i = 0; i < 10; i++)
{
try
{
arry[i] = Convert.ToInt32(Console.ReadLine());
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
//Console.WriteLine(arry[0]);
for (int k = 0; k < 10; k++)
for (int j = k+1; j < 10; j++)
{
if (arry[k] > arry[j])
{
arry[k] = arry[k] + arry[j];
arry[j] = arry[k] - arry[j];
arry[k] = arry[k] - arry[j];
}
}
foreach (int var in arry)
{
Console.WriteLine(var);
}
break;
}
}
}
}
}