没有合适的资源?快使用搜索试试~ 我知道了~
C#学习笔记03练习题和答案
5星 · 超过95%的资源 需积分: 9 23 下载量 55 浏览量
2013-07-29
20:47:39
上传
评论 1
收藏 304KB DOC 举报
温馨提示
在C#的学习中,数组和排序算法是两个基础但至关重要的概念。在这篇学习笔记中,我们通过两个具体的练习题来深入理解这两个知识点。 第一个练习是关于处理数组和计算平均分的问题。题目描述了一个歌星大奖赛的评分场景,其中包含10个评委的评分,范围从60到100分。最后的得分是去除一个最高分和一个最低分后的平均值。这里用到了C#的数组和基本统计操作。`initarr`函数用于生成包含10个随机整数的数组,通过`Random`类的`Next`方法实现。`average`函数则负责计算平均分,通过遍历数组找到最小值和最大值,并在排除这两个值后计算剩余8个分数的平均值。 第二个练习是实现冒泡排序算法。冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经过交换慢慢“浮”到数列的顶端,就像水中的气泡最终会上浮到水面一样。在C#代码中,`initarr`函数用于读取用户输入的10个整数并存储到数组中,`sort`函数实现了冒泡排序算法,通过多轮比较和交换使得数组元素逐渐有序。 这两个练习题不仅帮助我们熟悉了C#的基本语法,如数组操作、条件判断、循环控制,还让我们掌握了随机数生成和排序算法的实现。对于初学者来说,这些是掌握C#编程语言和数据结构的基础,也是进一步学习更复杂算法和系统开发的基石。在实际编程中,数组和排序算法的应用广泛,例如在数据分析、数据处理和算法设计中都扮演着重要角色。因此,熟练掌握这些基础知识对于提升编程能力至关重要。
资源推荐
资源详情
资源评论
实验三:数组编程
1、在歌星大奖赛中,有 10 个评委为参赛的选手打分,分数为 60~100 分。选
手最后得分为:去掉一个最高分和一个最低分后其余 8 个分数的平均值。请编
写一个程序进行模拟实现。
参考:分数由计算机生成随机数
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ex2013_7_24
{
class Program
{
static void Main(string[] args)
{
int[] arr = initarr(10);
double aver = average(arr);
Console.WriteLine("去掉最高分最低分之后的平均成绩为:" + aver);
Console.ReadLine();
}
//初始化数组
static int[] initarr(int n)
{
int[] arr = new int[10];
Random ran = new Random();
for (int i = 0; i < arr.Length; i++)
{
arr[i] = ran.Next(100);
Console.Write("{0} ",arr[i]);
}
Console.WriteLine();
return arr;
}
//计算平均数
static double average(int[] arr)
{
int min = arr[0];
int max = arr[0];
double sum = (double)arr[0];
for (int i = 1; i < arr.Length; i++)
{
sum+=arr[i];
if (arr[i] < min) min = arr[i];
if (arr[i] > max) max = arr[i];
}
return (sum - min - max) / 8;
}
}
}
截图:
2、编写
一个方法
实现冒泡排序。冒泡排序的思想是:每趟从第一个元素开始,两两比较,将大
的放到后面,这样,第一躺下来,最后的元素为最大;下一躺就只要比到 n-1
即可。比完 n-1 躺,则排好序。
输入 10 个整数,利用冒泡排序将这些整数按由小到大输出。
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ex2013_7_24
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入10个整数:");
int[] arr = initarr(10);
sort(arr);
Console.ReadLine();
}
//初始化数组
static int[] initarr(int n)
{
int[] arr = new int[n];
for (int i = 0; i < n; i++)
{
arr[i] = int.Parse(Console.ReadLine());
}
return arr;
}
//数组冒泡排序
static void sort(int[] arr)
{
for (int i = 0; i < arr.Length - 1; i++)
{
int min = i;
for (int j = i + 1; j < arr.Length; j++)
if (arr[j] < arr[min]) min = j;
if (min != i)
{
int t = arr[i];
arr[i] = arr[min];
arr[min] = t;
}
}
for (int k = 0; k < arr.Length; k++)
Console.Write("{0,-3}", arr[k]);
}
}
}
截图:
3 、接第 1 题,
现 有 15 位 选 手
参加比赛,每个
评委都要给每位
选手打分,分数
为 60~100 分 ,
现需要定义二维
数组存储选手成绩,每行存储一位选手打分情况,
剩余17页未读,继续阅读
资源评论
- wuzhihui00112013-08-04不错 初学者可以参考的
- 孤独老鹰2014-11-13很基础,很好……
wq右边
- 粉丝: 117
- 资源: 36
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 5G模组升级刷模块救砖以及5G模组资料路由器固件
- C183579-123578-c1235789.jpg
- Qt5.14 绘画板 Qt Creator C++项目
- python实现Excel表格合并
- Java实现读取Excel批量发送邮件.zip
- 【java毕业设计】商城后台管理系统源码(springboot+vue+mysql+说明文档).zip
- 【java毕业设计】开发停车位管理系统(调用百度地图API)源码(springboot+vue+mysql+说明文档).zip
- 星耀软件库(升级版).apk.1
- 基于Django后端和Vue前端的多语言购物车项目设计源码
- 基于Python与Vue的浮光在线教育平台源码设计
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功