当前位置: 首页 > news >正文

女人吃男人做床视频网站金华网站建设明细报价表

女人吃男人做床视频网站,金华网站建设明细报价表,ai智能ppt制作,湛江做网站开发分数 15 全屏浏览题目 切换布局 作者 C课程组 单位 浙江大学 本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大和最小值都是唯一的。…

 

分数 15

全屏浏览题目

切换布局

作者 C课程组

单位 浙江大学

本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。

注意:题目保证最大和最小值都是唯一的。

输入格式:

输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。

输出格式:

在一行中顺序输出交换后的序列,每个整数后跟一个空格。

输入样例:

5
8 2 5 1 4

输出样例:

1 2 5 4 8 

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

我的答案:

分析过程:

  1. 读取整数序列,并同时找到最小值及其位置,以及最大值及其位置。
  2. 将最小值与第一个整数交换。
  3. 将最大值与最后一个整数交换。
  4. 输出交换后的序列。

需要注意的是,如果最小值就是在序列的最后一个位置或者最大值就是在序列的第一个位置,交换的顺序就变得很重要了,因为先进行的交换可能会影响到后面的交换。

在我们执行交换操作时,要特别小心关于最大值和最小值的位置。如果我们先执行了一个交换,那么它可能会影响到我们后续的交换操作。

让我们以一个例子来解释:

假设我们有一个序列:8 2 5 1 4

最大值为8,位置为0(即第一个位置);最小值为1,位置为3(即第四个位置)。

按照题目要求,我们首先要将最小值与第一个数字交换,然后再将最大值与最后一个数字交换。

如果我们按照这个顺序执行,那么:

  1. 首先交换最小值1和第一个数字8,序列变为:1 2 5 8 4
  2. 接下来,我们再交换最大值8和最后一个数字4,序列变为:1 2 5 4 8

这是正确的结果。

但如果最大值是序列的第一个数字,而最小值是序列的最后一个数字,比如序列:8 2 5 4 1。按照上述交换顺序,我们会得到错误的结果,因为在我们交换最小值和第一个数字后,原来的最大值的位置已经改变,我们就不能再正确地交换最大值和最后一个数字了。

C语言:

#include <stdio.h>int main() {int N, i;int arr[10];int minIndex = 0, maxIndex = 0;// 读取数据scanf("%d", &N);for (i = 0; i < N; i++) {scanf("%d", &arr[i]);if (arr[i] < arr[minIndex]) {minIndex = i;}if (arr[i] > arr[maxIndex]) {maxIndex = i;}}// 交换最小值和第一个数int temp = arr[0];arr[0] = arr[minIndex];arr[minIndex] = temp;// 如果最大值就是第一个数,那么maxIndex需要更新if (maxIndex == 0) {maxIndex = minIndex;}// 交换最大值和最后一个数temp = arr[N-1];arr[N-1] = arr[maxIndex];arr[maxIndex] = temp;// 输出结果for (i = 0; i < N; i++) {printf("%d ", arr[i]);}return 0;
}

C++:
 

#include <iostream>
#include <vector>
using namespace std;int main() {int N;cin >> N;vector<int> arr(N);int minIndex = 0, maxIndex = 0;for (int i = 0; i < N; i++) {cin >> arr[i];if (arr[i] < arr[minIndex]) {minIndex = i;}if (arr[i] > arr[maxIndex]) {maxIndex = i;}}swap(arr[0], arr[minIndex]);// 如果最大值就是第一个数,那么maxIndex需要更新if (maxIndex == 0) {maxIndex = minIndex;}swap(arr[N-1], arr[maxIndex]);for (int i = 0; i < N; i++) {cout << arr[i] << " ";}return 0;
}

解题过程:

  1. 读取N。
  2. 创建一个数组或向量来存储整数序列。
  3. 在读取整数时,找到最小和最大值及其位置。
  4. 进行必要的交换。
  5. 输出交换后的整数序列。

总结:

从这道题目中,我们可以学到以下几点:

1. **问题分析**:在解决问题之前,需要仔细阅读和理解题目要求,以确保你考虑到了所有可能的情况。
 
2. **边界条件的重要性**:在计算机科学中,边界条件常常是出现错误的地方。这道题目强调了如果最小值或最大值位于序列的开始或结束位置,交换的顺序会产生影响。这就是一个边界条件的例子。

3. **数组操作**:这道题目强调了对数组元素的访问和修改。你需要熟悉如何在数组中找到最大值和最小值,以及如何交换数组中的两个元素。

4. **考虑交换顺序的重要性**:在执行多个交换操作时,执行顺序可能会影响最终结果,因此在编程时要特别注意。

5. **细心和注意力**:程序中的小错误(如错误地交换两个数字)可能会导致完全不同的结果。因此,编写代码时要非常细心,并在测试代码时要尽量考虑各种可能的情况。

6. **调试和测试**:在实际编程中,很可能你的第一版代码不能正确处理所有情况。这就强调了进行充分测试的重要性,特别是对于那些可能的边界条件。

综上所述,这道题目不仅测试了编程技能,还强调了计算思维、逻辑分析和问题解决的重要性。

 

http://www.yayakq.cn/news/194826/

相关文章:

  • 营销型网站定义工业设计 做自己的网站 知乎
  • 咨询网站 获取排名做海外网站交税吗
  • 陕西网站seo外链代发2分一条
  • seo网站优化代码广州网站建设商家
  • 软文发布推广平台赣州网站优化推广
  • 乐清网站建设百度推广最简单方法
  • 大岭山网站建设公司wordpress网站添加背景音乐
  • 专业手机移动网站设计网络做网站
  • 带后台自适应网站模版云南做公司网站多少钱
  • 网站头部怎么做杭州建设网站
  • 郑州营销网站托管公司wordpress生成地图
  • 地情网站建设方案二级域名著名网站
  • 一般做网站要多少钱建设网站对服务器有什么要求
  • 网站建设开发步骤青岛网站建设公司排行
  • 巩义便宜网站建设公司建个网站的流程
  • 山西手机版建站系统信息wordpress上传pdf
  • 哪些网站可以免费成品网站建设哪家好
  • 兰溪市建设局网站网站开发和广告制作
  • 做3d办公家具教程的网站网站建设国家有补贴吗
  • 昆明网站建设一条龙网站怎么做下载网页
  • 长春建设集团招聘信息网站三乡网站建设
  • 公司做网站找谁公司做网站找谁杭州做网站制作
  • 淄博做网站推广公司百度指数特点
  • 数据库里建设好的网站为什么外网进不去网站推广普通话主题手抄报图片大全
  • 商业网站开发入门asp.net 手机网站模板
  • 广州网站设计找谁wordpress固定链接404 windows
  • 建筑资源网站如何做网站性能优化
  • 建筑八大员报名网站国家企业信用公示信息年报全国
  • 北京市住房与城乡建设厅网站网站只做优化
  • 网站建设要多久馆陶网站建设费用