• 领导讲话
  • 自我介绍
  • 党会党课
  • 文秘知识
  • 转正申请
  • 问题清单
  • 动员大会
  • 年终总结
  • 工作总结
  • 思想汇报
  • 实践报告
  • 工作汇报
  • 心得体会
  • 研讨交流
  • 述职报告
  • 工作方案
  • 政府报告
  • 调研报告
  • 自查报告
  • 实验报告
  • 计划规划
  • 申报材料
  • 当前位置: 勤学考试网 > 公文文档 > 领导讲话 > 正文

    C#-第一次实验报告(含源代码,注释)x

    时间:2020-09-15 12:27:11 来源:勤学考试网 本文已影响 勤学考试网手机站

    .NET程序设计

    .NET程序设计

    PAGE

    PAGE # / 8

    实验一一 语言基础

    、实验目的

    熟悉Visual Stido.NET实验环境;

    掌握控制台程序的编写方法;

    掌握C#程序设计语言的语法基础;

    掌握控制语句和数组的使用。

    、实验要求

    根据题目要求,编写C#程序,并将程序代码和运行结果写入实验报告。

    、实验内容

    编写一个控制台应用程序,输入三角形或者长方形边长, 计算其周长和面积并输

    出。

    源代码:

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespacesy1_1

    { - --

    class Program {

    static void Main( string [] args)

    int i; double t_1, t_2, t_3;//三角形及长方形的变量等Con sole .WriteLi ne(while ( true )double r_le nth, r_width;double cir, area;欢迎进入几何图形周长、面积计算系统*******");/ 2 - t_3));Con sole .WriteLi ne("Con sole .WriteL in e("请输入序号:1. 三角形 2. 长方形

    int i; double t_1, t_2, t_3;

    //三角形及长方形的变量等

    Con sole .WriteLi ne(

    while ( true )

    double r_le nth, r_width;

    double cir, area;

    欢迎进入几何图形周长、面积计算系统

    *******"

    );

    / 2 - t_3));

    Con sole .WriteLi ne("

    Con sole .WriteL in e("请输入序号:

    1. 三角形 2. 长方形

    ");

    int .Parse( Console.ReadLine()); switch (i) {

    case 1:

    Con sole .WriteLi ne( float .Parse(

    Con sole .WriteLi ne(

    float .Parse(

    Con sole .WriteLi ne( float .Parse(

    2 + t_3;

    3.退出

    I!

    );

    t_3 =

    cir = t_1 area = //无法将double隐式转换为float,

    Con sole .WriteLi ne( Con sole .WriteLi ne( break;

    case 2:

    "请输入第一条边长: Con sole .ReadL in e());

    "请输入第二条边长:

    Con sole .ReadL in e());

    "请输入第三条边长: Con sole .ReadL in e());

    ");

    ");

    ");

    //

    //

    //三角形周长及面积算法

    //用户依次输入三个边长

    输入结束 计算三角形周长及面积

    Math.Sqrt(cir / 2 * (cir / 2 - t_1) * (cir / 2 - t_2) * (cir

    之前用的float类型的边长等,sqrt函数返回为double "该三角形周长为:{0}" ,cir);

    "该三角形面积为:{0}" ,area);

    //长方形周长及面积算法

    PAGE

    PAGE # / 8

    Con sole .WriteLi ne("请输入长方形的长:“);//用户依次输入三个边长 r_lenth = float .Parse( Console.ReadLine());

    Con sole .WriteLi ne("请输入长方形的宽:”); r_width = float .Parse( Console.ReadLine());

    cir = 2 * (r_lenth + r_width); // 长方形周长及面积

    area = r_le nth * r_width;

    Con sole .WriteLi ne("该长方形周长为:{0}" , cir);

    Con sole .WriteL in e("该长方形面积为:{0}" , area); break;

    case 3: Con sole .WriteLi ne("欢迎您的下次进入!!! ”); break;

    default : Console.WriteLine("输入错误!!! "); break ;

    } //switch 结束

    if (i == 3) break; //判断用户是否退岀系统

    } //while循环结束

    }

    }

    }

    &> sy_ -I - '1 CTEJSDtt VlE^J3 i.udio

    体泵百復(口文件旧希旧m^(Vl顿目训生咸(B)错试;DI SkilMi無内"(Tj;R?苗?二 jj』A -J ?k - J ' ,J '》恥问 *

    体泵百復(口

    ==!9 C:\wi ndt>w£\cyctp*in d .pms1Program-CG X_2O1 b3236^sy 1 = l Program j-~z骗台一*柠制台应用狎才"于怖|

    ==!

    9 C:\wi ndt>w£\cyctp*in d .pms1

    Program-CG X

    _2O1 b3236^sy 1 = l Program j

    -~z骗台一*柠制台应用狎才

    "于怖|

    F^ixig1 Syrt c?;

    可 usin^ Sys± rat- Cpllcctiorid usd ne 5yst eir ? Lina:

    t UEzng Sysdt en.- Text ; '

    7 L nine 5fiC.ce _^£01 S3236_sy 1J

    屮卄"欧迎退人丿川.|暨土丙怏、 .“ 、1- 一當影 工 KTr?

    ?頁输A序号*

    1

    请输八弟一乘辺长: 齧報人第—条边长r

    后输/■第三条辺长*

    g iu ii

    Id 茁 疋

    17

    IS

    19

    2C

    2 I

    23

    『I叮

    int 1: dnuh U Consol#. Wril while (true )1

    nnsnl划

    Consolo^ i - iiit+ switch |

    F]

    :衷三幷壬

    该三角驹 誠人^号:'" 超龍人长方形的长’

    H瞞人怅方形的宽’

    4

    OW: II

    .12

    ;&

    1.三角形 2.长方形

    目形 2.长方也

    謀斟鶴小!

    3一退岀

    图1求周长、面积截图

    编写一个控制台应用程序,可根据输入的月份判断所在季节。

     源代码:

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespacesy1_2 {

    class Program

    {

    static void Main( string [] args)

    {

    int i;Con sole .WriteLi ne(\\***********欢迎进入季节判断系统(

    int i;

    Con sole .WriteLi ne(

    \\***********

    欢迎进入季节判断系统(气象划分法)***************"

    );

    while ( true )

    {

    Con sole .WriteLi ne(

    "菜单:“);

    Con sole .WriteLi ne(

    " 1.1 月

    2.2

    3.3

    I!

    );

    Con sole .WriteLi ne(

    " 4.4 月

    5.5

    6.6

    I!

    );

    Con sole .WriteLi ne(

    " 7.7 月

    8.8

    9.9

    I!

    );

    Con sole .WriteLi ne(

    " 10.10 月

    11

    11月

    12.12 月

    I!

    );

    Con sole .WriteLi ne(

    " 13. 退岀

    I!

    );

    Con sole .WriteLi ne(

    "请输入月份序号:")

    i = int .Parse( Console.ReadLine());

    switch (i)

    {

    case 3:

    case 4:

    case 5:

    Con sole .WriteLi ne(

    "此月份在春季。。。

    ");break;

    case 6:

    case 7:

    case 8:

    Con sole .WriteLi ne(

    "此月份在夏季。。。

    ");break;

    case 9:

    case 10:

    case 11:

    Co nsole.WriteLi ne(

    "此月份在秋季。。。

    ");break;

    case 12:

    case 1:

    case 2:

    Con sole .WriteLi ne(

    "此月份在冬季。。。

    ");break;

    case 13:

    Co nsole.WriteLi ne(

    "退岀成功,再见!!

    ! "); break

    default

    :Console.WriteLine(

    "输入错误!!!");

    break;

    } //switch 结束

    if (i == 13) break; // 退岀系统

    } //while 结束

    }

    }

    }

    //■} IS 2CL71D1Ok vs Lag Syjst *nt;usLXis effL. Coll ect i un suaiJig Sy-oi-onti Linq;u i ing Syft em. 7 貝Kt:/ .iy1 2.=lii cy r d rnttO 2C153235 syl -2 r iicrosoft \ isjal Cttdi-c

    //■} IS 2CL71D1O

    k vs Lag Syjst *nt;

    usLXis effL. Coll ect i un s

    uaiJig Sy-oi-onti Linq;

    u i ing Syft em. 7 貝Kt:

    / .iy1 2.=lii cy r d rn

    ttO 2C153235 syl -2 r iicrosoft \ isjal Cttdi-c 文為就EJ阳■医M 販岂円

    7

    B

    9

    IQ

    JI

    TI£

    2Dl53235.syl.

    二工匚gran

    int i.

    cn^olo ? Irtti urhlle (trutj

    CmsoI*.

    月或□】a^(M:弟#g 工只⑴ 体盂绪口:匚i

    IJ ■ i~l ' i^L i# n*lhiiin J vfl-ri

    3] C:\iwirdows\sy^r?m 52\cmd #*#■

    hlA

    生4月

    10. 10^

    13,退出

    2. 2R £5月 s. EH

    11.11 月

    3.3月

    'j. G月

    9. Q月

    1人1?月

    ;L 7J

    .fi

    .7

    :B

    Codec lc^i

    CansnlA.,

    Corm Is

    厂 rwnurn 1 o

    1.[月

    4.明

    7” 7月 10.

    13.退出

    z.二

    &頤 圧8月 u n月

    3.3月

    6- B月

    9. §月

    12.123

    I月

    m m月 is. BBdj

    2.纭

    5> 5匸 毬.2匚

    11. 11

    冃冃frr

    3 6 9 ■

    3_dJ9.12

    图2判断月份截图

    编写程序,用 while循环语句实现下列功能:有一篮鸡蛋,不止一个,有人两个两

    个数,多余一个,三个三个数,多余一个,再四个四个地数,也多余一个,请问这篮鸡蛋至 少

    有多少个。

    源代码:

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespacesy1_3

    { - --

    class Program

    {

    static void Main( string [] args)

    {

    int sum=2; //鸡蛋个数总量

    bool flag = false ;

    while (sum < int .MaxValue&&flag== false ) { //循环条件:鸡蛋总量没有超岀int所表示

    最大值,且没找到一个符合条件的

    {

    if (sum % 2 == 1 && sum % 3 == 1 && sum % 4 == 1)

    //满足题目条件,已找到

    Console.Write("这篮鸡蛋至少有{0}" , sum); Con sole .WriteL in e("个。“);

    flag =

    }

    true ;

    else

    //没找到,增加鸡蛋数量

    sum++;

    } //while循环结束

    }

    }

    }

    Programxs X5y1J.Prcgram1214

    Programxs X

    5y1J.Prcgram

    1

    2

    1

    4

    5

    6

    T"编写理席,用

    |个数,多金一个?

    "于博

    musing

    using

    using

    usingSyEten: System. Collec System? Linq; System? Text:

    rhile馆环语句实理T列功能:有一篮鸣蛋,孑

    二f 二不封】 霜全一金,甬P1不网个黏,也磊#

    国3 Cj\winda\iyctem d.色炖

    85/1 -3 - Mkfosoft Visual Studio

    立样旧対旧观團(V)重构?顼目冏生战⑹渭应D}団认(M】强g J

    [同▼ d ” H ◎搭2达

    ■話

    ―耳卜 Debug

    ? |)cft&

    二二电釘检庭|率學匚殳| 口

    」"■Xj V

    图3求出鸡蛋数量截图

    编写程序,计算数组中奇数之和和偶数之和。

    源代码:

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Collections; // 头文件,包含 Arraylist 类型(c# 中的动态数组) namespacesy1_4

    {

    class Program

    {

    static void Main( string [] args)

    {

    Console .WriteLine( "******* 欢迎进入计算一组数中奇 (偶) 数之和系统 ******* :"); while ( true )

    {

    Console .WriteLine( "菜单: ");

    Console .WriteLine( "1. 固定数量 (10 个) 2. 不固定数量 ");

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

    Console.WriteLine( "请选择 :" );

    int i; int Jsum = 0, Osum = 0;

    // 定义奇、偶总和

    i=

    int .Parse( Console .ReadLine());

    r

    switch (i)

    {

    case 1:

    // 普通数组,固定数量,仅 10个

    int [] numarr = new int [10];

    // 定义数组

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

    //for 循环输入 10个数

    {

    Console .WriteLine( "请输入第 {0} 个数: ", j + 1); numarr[j] = int .Parse( Console .ReadLine());

    }

    for ( int s = 0; s < 10; s++) // 计算数组中奇数之和和偶数之和

    {

    if (numarr[s]%2==0) Osum += numarr[s]; // 判断数组中的值是偶数并累加 else Jsum += numarr[s]; // 奇数累加

    }

    Console .WriteLine( "奇数之和为 " + Jsum + "\n 偶数之和为 " + Osum); break ; case 2: // 动态数组,不固定个数 ArrayList numbers = new ArrayList (); int sum;

    Console .WriteLine( " 请输入要输入的数的总个数: ");

    sum = int .Parse( Console .ReadLine());

    for ( int k = 0; k < sum; k++)

    {

    Console .WriteLine( "请输入第 {0} 个数: ", k+ 1); numbers.Add( int .Parse( Console.ReadLine()));

    }

    for ( int s = 0; s < sum; s++)

    {

    if (( int )numbers[s] % 2 == 0) Osum +=( int )numbers[s]; // 判断数组中的 值是偶数并累加(运算符%无法应用于object和int类型,需要强制转换)

    else Jsum += ( int )numbers[s]; // 奇数累加

    }

    Console.WriteLine( "奇数之和为 " + Jsum + "\n 偶数之和为 " + Osum); break; case 3: Console.WriteLine( "欢迎下次使用!!! "); break ;

    default : Console.WriteLine( "输入错误!!! "); break ;

    } //switch 结束

    if (i == 3) break ; // 跳出 while 循环

    } //while 结束

    }

    }

    }

    * ;□迅

    吟?m ?剧"尽

    k D^bdg 〒|

    1186

    文恃旧 帝&冋 视閨m 里构;民 项目巳 生总(即 调试2)au(M) sjukia} 工具e 体黒暗构心)丙

    ^2015525 5&y 1 . Prog rom

    Program.匚 £ x

    6

    7

    b:

    y io n

    12

    "肺2逞用,计算験過中氏姒之和和隅数之和"*/ "于?宙 2(J 1; 11.10

    F u^inc

    asin'g

    lie ing:

    System;

    Crl 1 Systtm,Xinq System.T&Kt Sy st em- C 匚1J

    仝甜?

    IL najiBspace _2Cllt3d

    el-as 3 Fi I i fljw

    姉出

    中奇〔偶)放之■和奪统**杆壮屮:

    14

    1&

    16

    17

    1B

    19

    20

    21

    22

    23

    24

    25

    26

    O1?

    五亍审二串㈣=1;牛战

    -已舸性应 InF 'n

    "匚I: ?t兰上dtjy晞塞薄弟儈幾茨蕊苦?■娄滋霍董

    Jj— rf?也二4*0—I 47.ill< ■? Xl fi ? C

    图4求数组中奇偶之和(固定大小)截图

    oo环

    Programmes X

    Visual Studio

    C:\wi n d ows\syste m 3 2\cm d .exe

    證S s/L4Fpgy ①

    门嵋写程序,计算執组中?

    /;于博 2C17101J F

    tu*mg

    u£ing

    using

    using

    using

    System;

    Syst ent. CsllsctioE

    System, Linq,

    System. T*xt,

    System. Collection

    9

    9

    10

    11

    12

    14

    I- najnespace5yl H , _ _

    l- class ProgcajL

    吕tatic void llai

    數N和为30

    1「直宗数量(1介)£不固定数董 退出

    岸输人更输入的数的总个数: WA第1个蠟

    p

    请端入第戈个数:

    謀入第3个数;

    奇教之罪为9

    彎徐乙加为0

    1.底危数盲(1。个)N不固定数量 b H-J

    >_iri i I ]

    请进择:

    3

    ir : I

    图5求数组中奇偶数之和(不固定数组大小)截图

    5. 编写程序,找一找一个二维数组中的鞍点(即该位置上的元素值在行中最大,在该

    列上最小。有可能数组没有鞍点)。要求:

    二维数组的大小、数组元素的值在运行时输入;

    程序有友好的提示信息。

    源代码:

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespacesy1_5

    {

    class Program

    {

    static void Main( string [] args)

    Console .WriteLine( "请选择: 1.输入二维数组, 0.退出" ); int flag = int .Parse( Console .ReadLine());

    while (flag == 1)

    Console .WriteLine( " 请输入二维二维数组的行数 int row = int .Parse( Console .ReadLine());Console .WriteLine( " 请输入二维二维数组的列数 int column

    Console .WriteLine( " 请输入二维二维数组的行数 int row = int .Parse( Console .ReadLine());

    Console .WriteLine( " 请输入二维二维数组的列数 int column = int .Parse( Console .ReadLine()); float [,] a = new float [row, column];

    Console .WriteLine( " 请输入二维二维数组元素: ( int i = 0; i < row; i++)

    :" );

    :" );

    for

    //

    ");

    //

    创建该二维数组

    每行循环

    for ( int j = 0; j < column; j++)

    //

    每列循环

    a[i, j] =

    a[i, j] =

    float .Parse( Console.ReadLine());

    int

    forcount= 0;( int i = 0; i <

    int

    for

    count= 0;

    ( int i = 0; i < row; i++)

    //

    // 计数器

    行循环

    int

    for

    maxj = 0;

    ( int j = 0; j < column; j++)

    //

    //

    初始化该行最大的值所在列

    查找该行最大值的所在列

    if (a[i, j] > a[i, maxj])

    maxj = j;//把每行中最大的列号赋给 maxj

    maxj = j;

    //

    把每行中最大的列号赋给 maxj

    //

    int

    找到该行最大数

    minx = 0;

    // 初始化该行最大的值所在列中最小的

    值所在行

    for( int j

    for

    ( int j = 0; j < row; j++)

    // 查找该行最大值的所在列中该列的最

    小值

    if (a[j, maxj] < a[minx, maxj])

    minx = j;//

    minx = j;

    // if (a[i, maxj] == a[minx, maxj])

    找到该行最大数所在列的最小值

    //

    判断该行最大数所在列的最小值的行号是

    否为该行

    count++; }}Console .Write( "马鞍点 [{0} ,{1}] :

    count++; }

    }

    // 行循环结束

    if (count== 0) Console.WriteLine( " 没有马鞍点数 "); else

    Co nsole.WriteL in e("马鞍点总数为:"+ cou nt);

    }

    Con sole .WriteLi ne("请选择:1.输入二维数组,0.退岀"); flag = int .Parse( Console.ReadLine());

    } //while循环结束

    }

    }

    }

    图6找数组马鞍点截图

    四、实验总结

    无法将double隐式转换为float。在运用Math的sqrt求三角形面 积时出现此问题。原因是返回值为 double类型,而我用的float类型, 修改为double类型后解决了。

    季节与月份的关系不唯一。百度了一下,选择了气象划分法。

    第四题没有说数组大小可以在运行时输入,学习了 Arraylist类型,

    解决了一维数组的动态输入大小问题。

    C#中对Enter的处理不如C++好,运行时不小心按到会导致异常。

     多写用户输入的提示信息,使程序更友好。

    相关热词搜索: 实验报告 注释 源代码 实验 注释)x

    • 考试时间
    • 范文大全
    • 作文大全
    • 课程
    • 试题
    • 招聘
    • 文档大全

    推荐访问