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 计算结果

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

游览器缓存讲解

浏览器缓存是指浏览器在本地存储已经请求过的资源的一种机制&#xff0c;以便在将来的请求中能够更快地获取这些资源&#xff0c;减少对服务器的请求&#xff0c;提高页面加载速度。浏览器缓存主要涉及到两个方面&#xff1a;缓存控制和缓存位置。 缓存控制 Expires 头&#…

acwing算法基础之数学知识--求卡特兰数

目录 1 基础知识2 模板3 工程化 1 基础知识 题目&#xff1a;给定n个0和n个1&#xff0c;它们将按照某种顺序排成长度为2n的序列&#xff0c;求它们能排成的所有序列中&#xff0c;能够满足任意前缀序列中0的个数都不少于1的个数的序列有多少个&#xff1f; 输出的答案对 1 0 …

键入网址到网页显示,期间发生了什么?

文章目录 键入网址到网页显示&#xff0c;期间发生了什么&#xff1f;1. HTTP2. 真实地址查询 —— DNS3. 指南好帮手 —— 协议栈4. 可靠传输 —— TCP5. 远程定位 —— IP6. 两点传输 —— MAC7. 出口 —— 网卡8. 送别者 —— 交换机9. 出境大门 —— 路由器10. 互相扒皮 —…

98、Text2Room: Extracting Textured 3D Meshes from 2D Text-to-Image Models

简介 github 利用预训练的2D文本到图像模型来合成来自不同姿势的一系列图像。为了将这些输出提升为一致的3D场景表示&#xff0c;将单目深度估计与文本条件下的绘画模型结合起来&#xff0c;提出了一个连续的对齐策略&#xff0c;迭代地融合场景帧与现有的几何形状&#xff0…

Javascript每天一道算法题(十五)——轮转数组_中等(一行解决轮转数组)

文章目录 1、问题2、示例3、解决方法&#xff08;1&#xff09;方法1——while遍历&#xff08;较为复杂&#xff0c;不推荐&#xff09;&#xff08;2&#xff09;方法2&#xff08;直接截取后插入&#xff0c;推荐&#xff09;&#xff08;3&#xff09;方法3——优化方法2&a…

C++初阶 | [六] 模板初阶

摘要&#xff1a;泛型编程&#xff0c;函数模板&#xff0c;类模板 使用函数重载虽然可以实现&#xff0c;但是有一下几个不好的地方&#xff1a; 重载的函数仅仅是类型不同&#xff0c;代码复用率比较低&#xff0c;只要有新类型出现时&#xff0c;就需要用户自己增加对应的函…

Qt项目打包发布超详细教程

https://blog.csdn.net/qq_45491628/article/details/129091320

RHCE8 资料整理(八)

RHCE8 资料整理 第 8 篇 容器管理第 27 章 使用podman管理容器27.1 安装及配置podman27.2 镜像管理27.2.1 镜像的命名27.2.2 对镜像重新做标签27.2.3 删除镜像27.2.4 查看镜像的层结构27.2.5 导出和导入镜像 27.3 创建容器27.3.1 创建容器27.3.2 容器的生命周期27.3.3 创建临时…

C#,《小白学程序》第六课:队列(Queue)其二,队列的应用,编写《实时叫号系统》

医院里面常见的《叫号系统》怎么实现的&#xff1f; 1 文本格式 /// <summary> /// 下面定义一个新的队列&#xff0c;用于演示《实时叫号系统》 /// </summary> Queue<Classmate> q2 new Queue<Classmate>(); /// <summary> /// 《小白学程序…

C语言——从终端(键盘)读入 20 个数据到数组中,统计其中正数的个数,并计算这些正数之和

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int i0;int sum0;int count0;int arr[20];printf("输入20个数据&#xff1a;\n");for(i1;i<20;i){scanf("%d",&arr[i]);if(arr[i]>0){count;sumarr[i];}}printf("正…

插件预热 | 且看安全小白如何轻松利用Goby插件快速上分

001 前言 各位师傅们好&#xff0c;首先强调一遍我可没做坏事&#xff0c;我只是想学技术&#xff0c;我有什么坏心思呢 回到正题&#xff0c;作为一个初学者&#xff0c;我想和大家分享一下我是如何利用 Goby 进行刷分的经历。大家都知道&#xff0c;刚开始学习的时候&…

抽象类, 接口, Object类 ---java

目录 一. 抽象类 1.1 抽象类概念 1.2 抽象类语法 1.3 抽象类特性 1.4 抽象类的作用 二. 接口 2.1 接口的概念 2.2 语法规则 2.3 接口的使用 2.4 接口间的继承 2.5 抽象类和接口的区别 三. Object类 3.1 toString() 方法 3.2 对象比较equals()方法 3.3 hash…