您的位置:首页 > 其它

C#入门(4)数组

2006-07-07 18:17 176 查看
利用各种循环语句计算整数10的阶乘--循环语句
using System;
class Loop
{
//利用for循环计算n的阶乘
public static long UseFor ( int n )
{
long sum = 1;
for ( int i = 1; i <= n; i++)
sum = sum * i;
return sum;
}

//利用while循环计算n的阶乘
public static long UseWhile ( int n )
{
long sum = 1;
int i = 1;
while ( i <= n )
{
sum = sum * i;
i++;
}
return sum;
}

//利用do-while循环计算n的阶乘
public static long UseDowhile ( int n )
{
long sum = 1;
int i = 1;
do
{ //虽然这里程序体与while语句中相同
sum = sum * i; //但在编程中应注意其执行体及判断条件的区别
i++;
} while ( i <= n );
return sum;
}

//输出利用各个方法的计算结果
public static void Main ()
{
int Numbern = 10;
Console.WriteLine("利用for循环计算出10的阶乘的结果是:");
Console.WriteLine( UseFor( Numbern ) );
Console.WriteLine("利用while循环计算出10的阶乘的结果是:");
Console.WriteLine( UseWhile( Numbern ) );
Console.WriteLine("利用do-while循环计算出10的阶乘的结果是:");
Console.WriteLine( UseDowhile( Numbern ) );
}
}

通过计算n的二阶乘演示跳转控制语句用法--跳转语句
//正整数n二阶乘的定义:
//当n为奇数时,其二阶乘为1*3*5……*n,即1到n之间所有奇数的积
//当n为偶数时,其二阶乘为2*4*6……*n,即2到n之间所有偶数的积
using System;
class Control
{
//计算整数n的二阶乘,返回其计算结果
public static long Factorial ( int number )
{
long sum = 1;
for ( int i = 1; i <= number; i++ )
{
if ( number > 20 ) //判断输入数是否太大
{
sum = -1;
break; //break语句,跳出for循环
}
if ( i % 2 != number % 2 ) //当前数奇偶性于输入数不同时
continue; //跳出本次循环,进入下一循环
sum = sum * i;
}
return sum; //终止本方法,返回值sum
}

public static void Main ( )
{
Console.WriteLine("请输入小于等于20的正整数:");
string temp = Console.ReadLine( );
int n = Int32.Parse( temp );
//当输入不合法时提示输入错误
if ( (n <= 0) || ( Factorial ( n ) == -1 ) )
{
Console.WriteLine("输入错误!");
goto Finish; //跳到标号Finish进行处理
}
//输入合法时,显示其结果
Console.WriteLine("{0} 的二阶乘是: {1}", n, Factorial( n ) );
Finish:
Console.WriteLine("程序结束");
}
}

演示各种数组的用法--数组
using System;
class ArrayApp
{
public static void Main ( )
{
//一维数组用法:计算数组中奇偶数的个数
Console.WriteLine("一维数组演示:一维数组中的奇偶数个数");
int[ ] arr1 = new int[ ] {8, 13, 36, 30, 9, 23, 47, 81 };
int odd = 0;
int even = 0;
foreach ( int i in arr1 )
{
if ( i % 2 == 0 )
even ++;
else
odd ++;
}
Console.WriteLine("共有 {0} 个偶数, {1} 个奇数。", even, odd);

//二维数组用法:m行n列的矩阵
Console.WriteLine("二维数组演示:3行4列的矩阵");
int[,] arr2 = new int[3,4] { {4,2,1,7}, {1,5,4,9}, {1,3,1,4} };
for ( int i = 0; i < 3; i++ )
{
for ( int j = 0; j < 4; j++ )
{
Console.Write(arr2[i,j] + "/t");
}
Console.WriteLine( );
}

//锯齿型数组用法:元素个数不同的两个数组
Console.WriteLine("锯齿型数组演示:长度不同的两个数组");
int[][] arr3 = new int[2][];
arr3[0] = new int[5] {1,3,5,7,9};
arr3[1] = new int[4] {2,4,6,8};
// char[][] arr3 = new char[][] { {H,e,l,l,o}, {C,s,h,a,r,p} };
for ( int i = 0; i < arr3.Length; i++)
{
Console.Write("第{0}个数组是:/t",i+1);
for ( int j = 0; j < arr3[i].Length; j++ )
{
Console.Write(arr3[i][j]+ "/t");
}
Console.WriteLine();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: