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

你非常幸运读到的是世界上 唯一一本真正的程序教程。
相关文章:
C#,《小白学程序》第二课:数组与排序
1 文本格式 /// <summary> /// 《小白学程序》第二课:数组与排序 /// </summary> /// <param name"sender"></param> /// <param name"e"></param> private void button2_Click(object sender, EventArgs …...
2023有哪些更好用的网页制作工具
过去,专业人员使用HTMLL、CSS、Javascript等代码手动编写和构建网站。现在有越来越多的智能网页制作工具来帮助任何人实现零代码基础,随意建立和设计网站。在本文中,我们将向您介绍2023年流行的网页制作工具。我相信一旦选择了正确的网页制作…...
Keepalived(一)
高可用集群 High Availability Cluster,简称HA Cluste。以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断提供的服务,把因软件、硬件、人为造成的故障对业务的影响降低导最低 衡量可用性:在线时间/ÿ…...
cs231n assignment3 q5 Self-Supervised Learning for Image Classification
文章目录 嫌墨迹直接看代码Q5 Self-Supervised Learning for Image Classificationcompute_train_transform CIFAR10Pair.__getitem__()题面解析代码输出 simclr_loss_naive题面解析代码输出 sim_positive_pairs题面解析代码输出 compute_sim_matrix题面解析代码输出 simclr_lo…...
电商首屏设计
1、主图最后成图效果 1.1 最后效果 1.2 主图尺寸,建多大的空白画布 1.3 如何让猜你喜欢展示跟搜索系统不一样的界面 2、实际操作方案 2.1 矩形屏信息 宽度为765 px 高度为770px; 2.2 第一步 矩形屏 2.3 第二步 填充颜色到空白 2.4 Crty j 复制图层 …...
SpringBoot集成Redis
Redis 的介绍 Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统,它被广泛地应用于缓存、计数器、限速器、消息队列、分布式锁等多种场景中。Redis 支持多种数据结构,包括字符串、散列、列表、集合和有序集合等&…...
qt 的基础学习计划列表
1 第一天 (qt 的基础) 什么是qt hello程序,空窗口 添加按钮(对象树、父子关系) 按钮的功能(信号和槽) 信号和槽的拓展2 第二天 各个控件 最简单的记事本界面(菜单栏、状态栏、工具…...
CSS中如何改变鼠标指针样式(cursor)?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ CSS中改变鼠标指针样式(cursor)⭐ 示例:⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅…...
SpringMVC-2-Spring MVC拦截器详解:从入门到精通
SpringMVC-2-Spring MVC拦截器详解:从入门到精通 今日目标 能够编写拦截器并配置拦截器 1.拦截器【理解】 1 拦截器介绍 1.1 拦截器概念和作用 拦截器(Interceptor)是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方…...
探索AIGC人工智能(Midjourney篇)(一)
文章目录 案例图片 Midjourney注册 创建Discord账号 下载客户端 添加Midjourney到自己的服务器 用Midjourney画一只会飞的鸭子 Midjourney绘画指令 Midjourney绘画指令_激发Midjourney的创造力 Midjourney绘画指令_Seed指令 Midjourney光线关键词,打造震撼…...
【IMX6ULL驱动开发学习】11.Linux之SPI驱动
参考:驱动程序开发:SPI设备驱动_spi驱动_邓家文007的博客-CSDN博客 目录 一、SPI驱动简介 1.1 SPI架构概述 1.2 SPI适配器(控制器)数据结构 1.2 SPI设备数据结构 1.3 SIP设备驱动 1.4 接口函数 二、SPI驱动模板 一、SPI驱动…...
什么是网络中的服务质量 (QoS),其相关技术和关键指标有哪些?
QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。QoS的保证对于容量有限的网络来…...
Django(4)-Django 管理页面
创建一个管理员账号 python manage.py createsuperuser运行项目,访问http://127.0.0.1:8080/admin,可以看到管理员界面 管理页面加上投票应用 polls/admin.py from django.contrib import admin# Register your models here. from .models import …...
js的使用之时间如何定义,窗口加载事件
1.时间如何定义 1.1 date的其他的属性 带出星期几的写法 var arr [星期日,星期一,星期二,星期三,星期四,星期五,星期六,星期天] var day date.getDay(); console.log(arr[day]); 1.2 日期的格式化 1.3 时分秒的写法 固定写法:如果想要写成00:00:00这种形式&am…...
会声会影2023全新中文专业版下载安装教程
熟练使用会声会影视频编辑工具,对视频创作过程的帮助是极大的。大家可以放心大胆地去研究会声会影的视频编辑技巧,会声会影2023与以往版本会声会影版本最大的区别是:账户制管理。可以通过账户添加或移除设备,非常便捷。该软件一直…...
excel处理公式获得最终值--------------gxl
/*** 读取单元格内容 包括计算公式的结果,引用公式的结果* param cell* return*/public static String getCellValue(Cell cell){System.out.println(cell);String value null;if(cell ! null){System.out.println(cell.getCellType());switch (cell.getCellType()…...
变量函数及销毁函数中的变量-PHP8知识详解
今天分享php8知识详解中的变量函数及销毁函数中的变量,以及相应的示例代码。 1、变量函数 变量函数,是指通过变量来访问的函数。当变量后有圆括号时,PHP将自动寻找与变量的值同名的函数,然后执行该函数。 变量函数引用…...
Unity Alembic闪烁问题
最近在做项目时,发现Clo3D导出的服装abc动画,导入到Unity中后(已提前导入Alembic插件),运行时屏幕会闪烁(变黑)。 经过几轮测试,发现是切线的问题。解决办法很简单。将abc文件上的Tangents属性值改为None即可。...
结构型模式-适配器模式
适配器模式* 定义:适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口…...
数据结构:线性表之-顺序表
目录 1.线性表概念 1.1 什么是顺序列表 1.2 线性表 2.顺序表实现 将有以下功能: 详细过程 顺序表的动态存储 顺序表初始化 尾插 扩容 头插 更改后的尾插 尾删 头删 打印 释放内存 优化顺序表 (任意位置插入删除) 优化后的头插尾插 优化后的头删尾…...
WAN2.2文生视频镜像快速部署:NVIDIA驱动适配+ComfyUI插件自动加载教程
WAN2.2文生视频镜像快速部署:NVIDIA驱动适配ComfyUI插件自动加载教程 1. 环境准备与快速部署 WAN2.2是一个强大的文生视频工具,结合了SDXL Prompt风格支持,能够根据中文提示词生成高质量视频内容。这个镜像已经预配置了所有必要的组件&…...
医生也能懂的医学图像分析指南:从X光片到AI诊断全流程解析
医生也能懂的医学图像分析指南:从X光片到AI诊断全流程解析 在门诊忙碌的间隙,王医生打开电脑调出一张胸部CT,屏幕上密密麻麻的灰白色影像中,一个直径不足5毫米的结节若隐若现。这种场景对放射科医生来说再熟悉不过——每天需要在上…...
从零搭建WebRTC信令服务:SpringBoot WebSocket与Vue3的实战协同
1. WebRTC信令服务基础认知 第一次接触WebRTC时,我被它直接建立P2P连接的能力惊艳到了——就像两个陌生人突然跳过所有中间环节直接开始面对面交流。但很快我发现,这种"魔法"背后需要一套精密的协调机制,这就是信令服务的用武之地。…...
Axure RP 全版本界面汉化:从环境配置到深度优化的完整实施指南
Axure RP 全版本界面汉化:从环境配置到深度优化的完整实施指南 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包,不定期更新。支持 Axure 9、Axure 10。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-c…...
革新性系统安全管理:开源工具重新定义Windows Defender控制范式
革新性系统安全管理:开源工具重新定义Windows Defender控制范式 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/de/defender-contr…...
深入理解VideoCrafter:DDPM3D和DDIM采样算法在高质量视频生成中的应用
深入理解VideoCrafter:DDPM3D和DDIM采样算法在高质量视频生成中的应用 【免费下载链接】VideoCrafter VideoCrafter1: Open Diffusion Models for High-Quality Video Generation 项目地址: https://gitcode.com/gh_mirrors/vi/VideoCrafter VideoCrafter是一…...
OpenClaw+Qwen3-VL:30B:低成本智能助手方案
OpenClawQwen3-VL:30B:低成本智能助手方案 1. 为什么选择本地部署的智能助手 去年我在团队内部推动了一个小实验:用公有云的对话API搭建了一个智能助手。三个月后收到账单时,那个数字让我意识到——对于长期运行的自动化任务,按…...
理论框架总搭不起来?资深导师力荐这几个AI写作辅助平台
写论文时,理论框架总是理不顺、逻辑不清晰?很多同学都遇到过这样的问题。其实,关键在于用对工具、走对流程——资深教授普遍建议,结合AI写作辅助平台能大幅提升效率。我们实测发现,千笔AI(中文全流程首选&a…...
钉钉H5应用PDF预览避坑指南:为什么iframe直接跳转下载页?
钉钉H5应用PDF预览技术解析:从安全策略到实战解决方案 每次在钉钉H5应用中尝试用iframe嵌套PDF时,那个突如其来的下载对话框总让人措手不及。这背后隐藏的不仅是技术限制,更是一场安全与用户体验的博弈。作为企业内部应用开发者,我…...
Flutter助力斩获大厂offer:我的技术突破与成长之路
一、起点:迷茫与选择 2024年春天,我站在人生的十字路口。 非科班出身、零项目经验、简历一片空白,投了20多份简历,连面试机会都寥寥无几。那时的我,每天刷着招聘软件,看着“3年经验”“精通Flutter/React …...
