C#,《小白学程序》第二课:数组,循环与排序

1 什么是数组?

数组 Array 是一组数值(数 或 值)。

  int[] a;

  int[,] b;

  int[][] c;

  Anything[] d;

  都是数组。

2 排序

排序就是按大小、名字、拼音或你指定的信息进行比较后排队。

排序是数组最基本的功能需求。

3 文本格式


/// <summary>
/// 《小白学程序》第二课:数组与排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
    // #1 数组:一组数据(成员 或 单元)
    double[] score = {
        540, 340, 650, 120, 554,
        643, 612, 234, 345, 456
    };
    // 数组成员的个数
    int n = 10;

    // #2 打印数组(顺序输出数组)
    // 先组成长长的串,最后再输出;
    // StringBuilder 是最常用的进行字符串 数据 组合成常常的字符串的方式;
    StringBuilder sb = new StringBuilder();
    // AppendLine 加一行;<br> 是换行;
    sb.AppendLine("未排序之前的成绩:<br>");

    // #3 循环 
    // for 开始的句子(语句)成为循环,就是顺序处理;
    // for 语句详解:定义一个标志 i, 从 0 到 n-1 = (n之前);每次加 1 ;
    // 可见数组的标志(下标)是从 0 开始的!!!!!!!
    #region 标准写法
    for (int i = 0; i < n; i++)
    {
        sb.AppendLine((i + 1) + ": " + score[i] + "<br>");
    }
    sb.AppendLine("<br>");
    #endregion

    // #4 排序
    // 两层循环;a 从第一个开始,每次与后面每一个 b 的成绩比较;
    // 如果 a 成绩超过 b 成绩的交换;
    for (int i = 0; i < n - 1; i++)
    {
        for (int j = i + 1; j < n; j++)
        {
            if (score[i] > score[j])
            {
                // 交换;
                // 中间需要一块垫板(stemp)用于临时存放 a成绩
                double stemp = score[i];
                score[i] = score[j];
                score[j] = stemp;
            }
        }
    }

    // #5 输出排序后的结果
    sb.AppendLine("从小到大排序之后的成绩:<br>");
    for (int i = 1; i < n + 1; i++)
    {
        sb.AppendLine(i + ": " + score[i - 1] + "<br>");
    }
    sb.AppendLine("<br>");

    // #6 输出到一个出口嵌入的网页浏览器
    webBrowser1.DocumentText = sb.ToString();
}
 

3 代码格式


/// <summary>
/// 《小白学程序》第二课:数组与排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
    // #1 数组:一组数据(成员 或 单元)
    double[] score = {
        540, 340, 650, 120, 554,
        643, 612, 234, 345, 456
    };
    // 数组成员的个数
    int n = 10;

    // #2 打印数组(顺序输出数组)
    // 先组成长长的串,最后再输出;
    // StringBuilder 是最常用的进行字符串 数据 组合成常常的字符串的方式;
    StringBuilder sb = new StringBuilder();
    // AppendLine 加一行;<br> 是换行;
    sb.AppendLine("未排序之前的成绩:<br>");

    // #3 循环 
    // for 开始的句子(语句)成为循环,就是顺序处理;
    // for 语句详解:定义一个标志 i, 从 0 到 n-1 = (n之前);每次加 1 ;
    // 可见数组的标志(下标)是从 0 开始的!!!!!!!
    #region 标准写法
    for (int i = 0; i < n; i++)
    {
        sb.AppendLine((i + 1) + ": " + score[i] + "<br>");
    }
    sb.AppendLine("<br>");
    #endregion

    #region 另一种写法
#if __UNUSED__
    // for 语句详解:定义一个标志 i, 从 1 到 n = (n+1)之前;每次加 1 ;
    for (int i = 1; i < n + 1; i++)
    {
        sb.AppendLine(i + ": " + score[i - 1] + "<br>");
    }
    sb.AppendLine("<br>");
#endif
    #endregion

    // #4 排序
    // 两层循环;a 从第一个开始,每次与后面每一个 b 的成绩比较;
    // 如果 a 成绩超过 b 成绩的交换;
    for (int i = 0; i < n - 1; i++)
    {
        for (int j = i + 1; j < n; j++)
        {
            if (score[i] > score[j])
            {
                // 交换;
                // 中间需要一块垫板(stemp)用于临时存放 a成绩
                double stemp = score[i];
                score[i] = score[j];
                score[j] = stemp;
            }
        }
    }

    // #5 输出排序后的结果
    sb.AppendLine("从小到大排序之后的成绩:<br>");
    for (int i = 1; i < n + 1; i++)
    {
        sb.AppendLine(i + ": " + score[i - 1] + "<br>");
    }
    sb.AppendLine("<br>");

    // #6 输出到一个出口嵌入的网页浏览器
    webBrowser1.DocumentText = sb.ToString();
}

4 计算结果

你非常幸运读到的是一本真正的程序教程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/185623.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用v-md-editor开发sql查看器--实战

v-md-editor markdown编辑器 文档&#xff1a;https://code-farmer-i.github.io/vue-markdown-editor/zh/ echo 创建一个空目录&#xff0c;使用vscode打开此空目录&#xff0c;进入终端&#xff0c;输入如下命令 npm create vitelatest . -- --template vue echo 选择 vue 和 …

Log4j2.xml不生效:WARN StatusLogger Multiple logging implementations found:

背景 将 -Dlog4j.debug 添加到IDEA的类的启动配置中 运行上图代码&#xff0c;这里log4j2.xml控制的日志级别是info&#xff0c;很明显是没生效。 DEBUG StatusLogger org.slf4j.helpers.Log4jLoggerFactory is not on classpath. Good! DEBUG StatusLogger Using Shutdow…

应用内测分发平台如何上传应用包体?

●您可免费将您的应用&#xff08;支持苹果.ios安卓.apk文件&#xff09;上传至咕噜分发平台&#xff0c;我们将免费为应用生成下载信息&#xff0c;但咕噜分发将会对应用的下载次数进行收费&#xff08;每个账号都享有免费赠送的下载点数以及参加活动的赠送点数&#xff09;&a…

pat实现基于邻接表表示的深度优先遍历[含非递归写法]

文章目录 1.递归2.非递归 1.递归 void DFS(ALGraph G, int v) {visited[v] 1;printf("%c ", G.vertices[v].data);for (ArcNode* cur G.vertices[v].firstarc; cur ! nullptr; cur cur->nextarc){if (!visited[cur->adjvex])DFS(G, cur->adjvex);} }2.非…

Maven - 打包之争:Jar vs. Shade vs. Assembly

文章目录 Pre概述Jar 打包方式_maven-jar-pluginOverview使用官方文档 Shade 打包方式_maven-shade-pluginOverview使用将部分jar包添加或排除将依赖jar包内部资源添加或排除自动将所有不使用的类排除将依赖的类重命名并打包进来 &#xff08;隔离方案&#xff09;修改包的后缀…

【VSCode】VSCode 使用

目录 文章目录 目录插件配置设置代码不显示 git 提示 "xxx months ago | 1 author"设置打开项目不自动选择 CMakeLists 插件 以下插件为 C 开发偏好设置。 C/CCMakeCMake ToolsGitLensRemote DevelopmentRemote Explorer 配置 设置代码不显示 git 提示 “xxx mon…

基于java实现捕鱼达人游戏

开发工具eclipse,jdk1.8 文档截图&#xff1a; package com.qd.fish;import java.awt.Graphics; import java.awt.image.BufferedImage; import java.util.Random;public class Fish {//定义鱼的图片BufferedImage fishImage;//定义鱼的数组帧BufferedImage[] fishFrame;//…

leetcode刷题详解一

算法题常用API std::accumulate 函数原型&#xff1a; template< class InputIt, class T > T accumulate( InputIt first, InputIt last, T init );一般求和的&#xff0c;代码如下&#xff1a; int sum accumulate(vec.begin() , vec.end() , 0);详细用法参考 lo…

python opencv -模板匹配

python opencv -模板匹配 模板匹配就是&#xff0c;我们现有一个模板和一个图片&#xff0c;然后&#xff0c;在这个图片中寻找和模板近似的部分。 在opencv 中主要通过cv2.matchTemplate这个函数去实现。 下面我们先看一下&#xff0c;模板图片和需要匹配的图片&#xff1a…

【完美世界】叶倾仙强势登场,孔雀神主VS护道人,石昊重逢清漪

Hello,小伙伴们&#xff0c;我是拾荒君。 《完美世界》国漫第138集已更新。在这一集中&#xff0c;天人族的行为让人大跌眼镜&#xff0c;他们不仅没有对石昊感恩戴德&#xff0c;反而一心想要夺取他身上的所有秘法宝术。天人族的护道人登场&#xff0c;试图以强大的实力压制石…

12V降3.3V100mA稳压芯片WT7133

12V降3.3V100mA稳压芯片WT7133 WT71XX系列是一款采用CMOS工艺实现的三端高输入电压、低压差、小输出电流电压稳压器。 它的输出电流可达到100mA&#xff0c;输入电压可达到18V。其固定输出电压的范围是2.5V&#xff5e;8.0V&#xff0c;用户 也可通过外围应用电路来实现可变电压…

STM32入门--CAN

目录 一、bxCan简介 二、bxCAN总体描述 2.1概述 2.2CAN框图 三、bxCA的工作模式 3.1初始化模式 3.2正常模式 3.3睡眠模式&#xff08;低功耗&#xff09; 四、测试模式 4.1静默模式 4.2环回模式 五、bxCAN功能描述 5.1 发送处理 ​编辑 5.2接收管理 5.2.1 标识符过…

用SOLIDWORKS画个高尔夫球,看似简单的建模却大有学问

SOLIDWORKS软件提供了大量的建模功能&#xff0c;如果工程师能灵活使用这些功能&#xff0c;就可以绘制得到各式各样的模型&#xff0c;我们尝试使用SOLIDWORKS绘制高尔夫球模型&#xff0c;如下图所示。 为什么选用solid works进行建模&#xff1f; solid works是一款功能强大…

MMFN-AL

MMFN means ‘multi-modal fusion network’ 辅助信息 作者未提供代码

mac VScode 添加PHP debug

在VScode里面添加PHP Debug 插件,根据debug描述内容操作 1: 随意在index里面写个方法,然后用浏览器访问你的hello 方法,正常会进入下边的内容 class IndexController {public function index(){return 您好&#xff01;这是一个[api]示例应用;}public function hello() {phpin…

pat实现基于邻接矩阵表示的深度优先遍历[含非递归写法]

文章目录 1.递归2.非递归 1.递归 void DFS(Graph G, int v) {visited[v] 1;printf("%c ", G.vexs[v]);for (int i 0; i < G.vexnum; i) {if (!visited[i] && G.arcs[v][i]) DFS(G, i);} }2.非递归 #include <stack> #include <iostream> …

基于springboot实现班级综合测评管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现班级综合测评管理系统演示 摘要 随着互联网技术的高速发展&#xff0c;人们生活的各方面都受到互联网技术的影响。现在人们可以通过互联网技术就能实现不出家门就可以通过网络进行系统管理&#xff0c;交易等&#xff0c;而且过程简单、快捷。同样的&#x…

P9 C++类

目录 01 类是什么 02 如何创建类 03 方法 后话 本期我们要讲的是 C 中的类。 我们终于讲到了面向对象编程&#xff0c;这是一种非常流行的编程方式&#xff0c;面向对象编程实际上只是一种你可以采用的编写代码的方式&#xff0c;其他语言例如 C#、Java 这些主要是面向对象…

【计算机网络】(网络层)定长掩码和变长掩码

目录 1、IPV4地址的应用规划 2、例题分析 2.1、定长的子网掩码 2.2、变长的子网掩码 1、IPV4地址的应用规划 定长的子网掩码&#xff08;FLSM&#xff09;&#xff1a; 使用同一个子网掩码划分子网&#xff0c;每个子网所分配的IP地址数量相同&#xff0c;造成IP地址的浪费…

wiondow系统-python中缺少JDK安装(超详解)!!!

因为学习python中&#xff0c;用到Pysaprk,但因缺少JDK而报错&#xff0c;解决方法如下 下载新款且稳定的17版本&#xff08;21不推荐&#xff09;官网下载有限速设置&#xff0c;压缩包我已经放在下面了&#xff0c;注意提取 百度网盘链接&#xff1a;https://pan.baidu.com/…