1. 程式人生 > >.net 新手上路,已瘋->_<-

.net 新手上路,已瘋->_<-

for math 面積 面積並 mat col spa 判斷 align

今天.net 上機實驗,已哭死在電腦前

把一些能簡單的全都簡單處理了。

1. 編寫一個控制臺應用程序,輸入三角形或者長方形邊長,計算其周長和面積並輸出。

代碼如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

// a,b記錄長方形的長和寬

//a,b,d記錄三角形的三個邊

//c記錄周長,s記錄面積,e作為判斷條件當e等於三時退出程序

//q用於變量轉換

//t 用於判斷三角形能否構成的判斷變量

namespace work1_1

{

class Program

{

static void Main(string[] args)

{

int e = 0;

while(e != 3)

{

int a=0, b=0, c=0,s=0,d=0,q=0,t=1;

Console.WriteLine(" 三角形和長方形面積&周長");

Console.WriteLine(" 請選擇");

Console.WriteLine(" 1.長方形");

Console.WriteLine(" 2.三角形");

Console.WriteLine(" 3.退出");

string p = Console.ReadLine();

e = Convert.ToInt32(p);

//Console.WriteLine(e);

if (e == 3)

break;

else if (e == 1)

{

Console.Write("請輸入矩形的長:");

p = Console.ReadLine();

a = Convert.ToInt32(p);

Console.Write("請輸入矩形的寬:");

p = Console.ReadLine();

b = Convert.ToInt32(p);

c = 2 * (a + b);

s = a * b;

Console.WriteLine("矩形的周長為:" + c);

Console.WriteLine("矩形的面積為:" + s);

}

else if (e == 2)

{

while(t != 0)

{

Console.Write("請輸入三角形的第一條邊:");

p = Console.ReadLine();

a = Convert.ToInt32(p);

Console.Write("請輸入三角形的第二條邊:");

p = Console.ReadLine();

b = Convert.ToInt32(p);

Console.Write("請輸入三角形的第三條邊:");

p = Console.ReadLine();

d = Convert.ToInt32(p);

if (a < b)

{

q = a;

a = b;

b = q;

}

if (a < c)

{

q = a;

a = d;

d = q;

}

if (a >= b + d)

Console.WriteLine("輸入的三角形的邊不能構成三角形請重新輸入!");

if (a < b + d)

{

c = a + b + d;

//秦九照公式 s=根號{c/2*(c/2-a)*(c/2-b)*(c/2-d)}

s =c/2*(c/2-a)*(c/2-b)*(c/2-d);

Console.WriteLine("三角形的周長為:" + c);

Console.WriteLine("三角形的面積為:" + Math.Sqrt(s));

t = 0;

}

}

}

}

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

//3-5春季,6-8夏季,9-11秋季12-2冬季

namespace work1_2

{

class Program

{

static void Main(string[] args)

{

int b = 1;

while (b != 0)

{

Console.WriteLine("請輸入月份(輸入數字1-12):");

int a;

string s = Console.ReadLine();

a = Convert.ToInt32(s);

if (a == 3 || a == 4 || a == 5)

{

Console.WriteLine("春季")

b = 0;

}

else if (a == 6 || a == 7 || a == 8)

{

b = 0;

Console.WriteLine("夏季");

}

else if (a == 9 || a == 10 || a == 11)

{

b = 0;

Console.WriteLine("秋季");

}

else if (a == 1 || a == 2 || a == 12)

{

b = 0;

Console.WriteLine("冬季");

}

else

Console.WriteLine("輸入錯誤,重新輸入!");

}

}

}

}

3. 編寫程序,用 while 循環語句實現下列功能:有一籃雞蛋,不止一個,有人兩個兩

個數,多余一個,三個三個數,多余一個,再四個四個地數,也多余一個,請問這籃雞蛋至

少有多少個。

代碼如下:using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace work1_3

{

class Program

{

static void Main(string[] args)

{

int s=1;

while(s!=0){

if (s % 2 == 1 && s % 3 == 1 && s % 4 == 1 && s!=1)

break;

else

s++;

}

Console.WriteLine(s);

}

}

}

4. 編寫程序,計算數組中奇數之和和偶數之和。

代碼如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace work1_4

{

class Program

{

static void Main(string[] args)

{

//eNum記錄偶數之和

//ueNum記錄奇數之和

int eNum = 0, ueNum=0;

int[] a = new int[10];

for (int i = 1; i < 11; i++)

a[i-1] = i;

for (int i = 0; i < 10; i++)

{

if (a[i] % 2 == 1)

ueNum += a[i];

else

eNum += a[i];

}

Console.WriteLine("數組中奇數和為:"+ueNum);

Console.WriteLine("數組中偶數和為:" + eNum);

}

}

}

實驗結果如圖:

5. 編寫程序,找一找一個二維數組中的鞍點(即該位置上的元素值在行中最大,在該

列上最小。有可能數組沒有鞍點)。要求:

? 二維數組的大小、數組元素的值在運行時輸入;

? 程序有友好的提示信息。

代碼如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace work1_5

{

class Program

{

static void Main(string[] args)

{

//a,b記錄二維數組的長度,c記錄鞍點的最多數量

//Num二維數組名

//Max數組記錄最大值得下標,Min數組記錄最小值的下標

//t 排序時的中介值

int a, b, c;

Console.WriteLine("請輸入二維數組的第一個維度長度:");

a = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("請輸入二維數組的第二個維度長度:");

b = Convert.ToInt32(Console.ReadLine());

if (a < b)

c = a;

else

c = b;

double[,] Num = new double[a, b];

double[] AnNum = new double[c];

int[] Max = new int[2];

int[] Min = new int[2];

int i, j, k;

Boolean flag = false;

double t;

//賦值

for (i = 0; i < a; i++)

for (j = 0; j < b; j++)

{

Console.WriteLine("請給數組中的Num["+i+","+j+"]賦值");

Num[i,j] = Convert.ToInt32(Console.ReadLine()); ;

}

Console.WriteLine("該數組中的鞍點為:");

for (i = 0; i < a; i++)

{

Max [0] = i;

Max [1] = 0;

t = Num[i,0];

for (j = 0; j < b - 1; j++)

{

if (t < Num[i, j + 1])

Max[1] = j + 1;

}

Min[0] = 0;

Min[1] = Max[1];

t = Num[0,Max[1]];

for (k = 0; k < a; k++)

{

Min[1] = Max[1];

if (t>Num[k,Max[1]])

Max[0] = k;

}

if (Max[0] == Min[0] && Max[1] == Min[1])

{

flag = true;

Console.WriteLine("第" + Max[0] + "行,第" + Max[1] + "列:" + Num[Max[0], Max[1]]);

}

}

if(!flag)

Console.WriteLine("無");

}

}

}

.net 新手上路,已瘋->_<-