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

1 文本格式


/// <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();
}
 

2 代码格式


/// <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();
}

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

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

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

相关文章

Vue3(开发h5适配)

在开发移动端的时候需要适配各种机型&#xff0c;有大的&#xff0c;有小的&#xff0c;我们需要一套代码&#xff0c;在不同的分辨率适应各种机型。 因此我们需要设置meta标签 <meta name"viewport" content"widthdevice-width, initial-scale1.0">…

SD 总线引脚介绍

参考 https://www.cnblogs.com/justin-y-lin/p/12259851.html SD卡与TF卡的引脚定义 - 360文档中心

java+springboot+mysql医院预约挂号管理系统

项目介绍&#xff1a; 使用javaspringbootmysql开发的医院预约挂号管理系统&#xff0c;系统包含超级管理员、管理员、医生、患者角色&#xff0c;功能如下&#xff1a; 超级管理员&#xff1a;管理员管理&#xff1b;用户管理&#xff1b;科室管理&#xff1b;床位管理&…

Linux系统编程之文件编程常用API回顾和文件编程一般步骤

目录 1.打开文件 2.创建文件 3.写入文件 4.读取文件 5.光标定位 6.关闭文件 7.文件编程一般步骤 Linux系统提供了一些常用API如&#xff1a; 打开/创建 open/creat 读写 write /read 光标定位 Iseek 关闭 close 1.打开文件 参数说明 Pathname:要打开的文件名 (含路径&…

Python 通过traceback追溯异常信息

Python 通过traceback追溯异常信息 导入traceback包 import traceback自定义函数 def func_3():return 1 / 0def func_2():func_3()def func_1():func_2()捕捉异常 try:func_1() except Exception as e:traceback_info traceback.format_exc()print("traceback_info"…

桌面图标不显示

问题 桌面图标不显示 解决办法 鼠标 右击->选择-查看->显示桌面图标

深入探讨C存储类和存储期——Storage Duration

&#x1f517; 《C语言趣味教程》&#x1f448; 猛戳订阅&#xff01;&#xff01;&#xff01; ​—— 热门专栏《维生素C语言》的重制版 —— &#x1f4ad; 写在前面&#xff1a;这是一套 C 语言趣味教学专栏&#xff0c;目前正在火热连载中&#xff0c;欢迎猛戳订阅&#…

Linux CentOS安装抓包解包工具Wireshark图形化界面

1.Wireshark介绍 Wireshark 是一个开源的网络协议分析工具&#xff0c;它能够捕获和分析网络数据包&#xff0c;提供深入的网络故障排除、网络性能优化和安全审计等功能。它支持跨多个操作系统&#xff0c;包括 Windows、macOS 和 Linux。 2.Wireshark主要使用方法 捕获数据…

智能井盖传感器,物联网智能井盖系统

随着城市人口的不断增加和城市化进程的不断推进&#xff0c;城市基础设施的安全和可靠性变得愈发重要&#xff0c;城市窨井盖作为城市基础设施重要组成部分之一&#xff0c;其安全性事关城市安全有序运行和居民生产生活安全保障。 近年来&#xff0c;各地都在加强城市窨井盖治理…

el-backtop返回顶部的使用

2023.8.26今天我学习了如何使用el-backtop组件进行返回页面顶部的效果&#xff0c;效果如&#xff1a; <el-backtop class"el-backtop"style"right: 20px; bottom: 150px;"><i class"el-icon-caret-top"></i></el-backtop&…

16、Flink 的table api与sql之连接外部系统: 读写外部系统的连接器和格式以及JDBC示例(4)

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

跳跃游戏【贪心算法】

跳跃游戏 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。在这里插入图片…

【Linux】多线程概念线程控制

文章目录 多线程概念Linux下进程和线程的关系pid本质上是轻量级进程id&#xff0c;换句话说&#xff0c;就是线程IDLinux内核是如何创建一个线程的线程的共享和独有线程的优缺点 线程控制POSIX线程库线程创建线程终止线程等待线程分离 多线程概念 Linux下进程和线程的关系 在…

MySql015——使用子查询

一、创建customers表 ######################## # Create customers table ######################## use study;CREATE TABLE customers (cust_id int NOT NULL AUTO_INCREMENT,cust_name char(50) NOT NULL ,cust_address char(50) NULL ,cust_city char…

9.oracle中sign函数

在Oracle/PLSQL中, sign 函数返回一个数字的正负标志. 语法如下&#xff1a;sign( number ) number 要测试标志的数字. If number < 0, then sign returns -1. If number 0, then sign returns 0. If number > 0, then sign returns 1. 应用于: Oracle 8i, Oracle …

Idea配置Remote Host

一、打开RemoteHost窗口 双击shift打开全局搜索 搜索Tools→Deployment→Browse Remote Host或 idea项目顶部Tools→Deployment→Browse Remote Host 二、添加服务 右侧边栏打开RemoteHost&#xff0c;点击三个点&#xff0c;起个名字&#xff0c;选择type为SFTP&#xff…

Jenkins工具系列 —— 配置邮箱 每个job下动态设置临时发送人

文章目录 安装插件添加邮箱认证邮箱申请&#xff08;以QQ邮箱网页为例&#xff09;jenkins添加邮箱认证 jenkins设置邮箱相关信息配置全局邮件单个JOB邮箱配置 安装插件 点击 左侧的 Manage Jenkins —> Plugins ——> 左侧的 Available plugins 添加邮箱认证 邮箱申请…

前端基础(ES6 模块化)

目录 前言 复习 ES6 模块化导出导入 解构赋值 导入js文件 export default 全局注册 局部注册 前言 前面学习了js&#xff0c;引入方式使用的是<script s"XXX.js">&#xff0c;今天来学习引入文件的其他方式&#xff0c;使用ES6 模块化编程&#xff0c;…

01、前端使用 thymeleaf 后,视图页面找不到---Cannot resolve MVC View ‘xxxxx前端页面‘

Cannot resolve MVC View ‘xxxxx前端页面’ 没有找到对应的mvc的前端页面。 代码&#xff1a;前端这里引入了 thymeleaf 模板 解决&#xff1a; 需要添加 thymeleaf 的依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>s…

智慧充电桩物联网方案架构

智慧充电桩物联网采用“云-管-边-端”的边缘计算物联网架构&#xff0c;融合5G、AI、Wi-Fi 6等技术&#xff0c;实现充电基础设施由数字化向智能化演进。智慧充电桩物联网方案架构设计&#xff0c;如下图所示&#xff1a; 云端&#xff1a; 物联网平台具备广泛协议的南向接入…