吉林大学 超星慕课 高级语言程序设计 学习通部分题目极其答案

题目编号:Exp04-Basic06,GJBook3-06-04

题目名称:循环右移

题目描述:编写程序,不使用其它辅助数组,把一维整型数组中的各个素循环右移位。

输入:
第一行输入两个整数,n表示数组长度(0<n<=100),j表示循环右移的位数(j>=0);
第工行依次从键盘随机输入n个整数作为数组元素值。
输出:
循环右移后的整数数组,各元素间以一个西文空格间隔,最后一个元素后无字符。

#include<stdio.h>
int main() {
int a[100], n, j, i;
scanf("%d %d", &n, &j);
for (i = 0; i < n; i++)scanf("%d", &a[i]);
if (j > n) j %= n;
for (i = (n - j); i < n; i++) {
printf("%d ", a[i]);
}
for (i = 0; i < n - j; i++) {
printf("%d", a[i]);
if (i < n - j-1)printf(" ");
}
}

题目编号:Exp04-Extend04

题目名称:中位数

题目描述:

中位数是指将数据按大小顺序排列起来,形成一个数列,居于数列中间位置的那个数。例如求解23、29、20、32、23、21、33、25 序列的中位数,首先将该组数据进行排序得到:20、21、23、23、25、29、32、33;因为共由8个数据,即n为偶数,故按中位数计算方法,得到中位数24,即第四个数和第五个数的平均数。若n为奇数,则中位数是排序后位于中间位置的数据。编程序计算输入序列的中位数。

输入:第一行给出一个正整数N(0<N≤5000)表示输入序列所含数据个数。随后依次输入N个整数。

输出:输出中位数,精确到小数点后2位。


#include <stdio.h>
#include <stdlib.h>int compare(const void *a, const void *b) {return (*(int *)a - *(int *)b);
}int main() {int n;scanf("%d", &n);int arr[n];for (int i = 0; i < n; i++) {scanf("%d", &arr[i]);}qsort(arr, n, sizeof(int), compare); // 使用快速排序对数组进行排序double median;if (n % 2 == 0) {median = (arr[n / 2 - 1] + arr[n / 2]) / 2.0; // 偶数个元素时取中间两个数的平均值} else {median = arr[n / 2]; // 奇数个元素时取中间位置的数}printf("%.2lf\n", median);return 0;
}

【计2017级期末试题】排序。

问题描述:编写函数,将整型数组中的n个元素按照从小到大排序,并在程序中以注释的形式标明排序方法。函数声明为:void sort(int a[], int n)。

输入:n和n个元素(假定数组元素个数不超过10)

输出:排好序的数组,每个数据后边均有1个空格

样例1:

输入:5 3 4 1 2 7

输出:1 2 3 4 7

样例2:

输入:8 31 21 -11 0 6 9 10 -10

输出:-11 -10 0 6 9 10 21 31 
#include <stdio.h>void sort(int a[], int n) {for (int i = 0; i < n - 1; i++) {for (int j = 0; j < n - i - 1; j++) {if (a[j] > a[j + 1]) {int temp = a[j];a[j] = a[j + 1];a[j + 1] = temp;}}}
}int main() {int n;scanf("%d", &n);int arr[n];for (int i = 0; i < n; i++) {scanf("%d", &arr[i]);}sort(arr, n);for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}return 0;
}

【计2016级期中试题】删除所有偶数。

问题描述: 编写函数,对于任意整型数组删除其中的所有偶数,使得剩余元素连续存放,并保持在数组中的原来出现次序。其中,函数原型为:int del(int a[], int n); 其中0<0≤10。

注:本题不允许开辟除数组a之外的新数组。

输入:依次输入数组尺寸n,n个元素值

输出:顺序输出删除后剩余元素。注意:输出时每个数字后有一个空格。如果数组中所有元素均被删除,则输出None

样例1:

输入:5 10 1 8 7 34

输出:1 7

样例2:

输入:3 89 21 100

输出:89 21

样例3:

输入:5 2 4 6 8 10

输出:None

#include <stdio.h>int del(int a[], int n) {int newSize = 0; // 记录删除偶数后剩余元素的个数for (int i = 0; i < n; i++) {if (a[i] % 2 != 0) { // 如果是奇数,保留并将其放在前面a[newSize++] = a[i];}}return newSize; // 返回新数组的大小
}int main() {int n;scanf("%d", &n);int arr[n];for (int i = 0; i < n; i++) {scanf("%d", &arr[i]);}int newSize = del(arr, n);if (newSize == 0) {printf("None\n"); // 如果没有剩余元素,输出 "None"} else {for (int i = 0; i < newSize; i++) {printf("%d", arr[i]);if (i < newSize - 1) printf(" ");}printf("\n");}return 0;
}

【计2016级期末试题】元素判断。

问题描述:编写int函数,判断给定的整数数组a[n]中是否存在元素a[i] (0<i<n,,n不大于10),等于其前边的所有元素之和,即a[i]=a[0]+a[1]+…+a[i-1]。

输入:依次输入n和n个整数。

输出:根据判断情况输出Y/N。

样例1:

输入:3 1 2 1

输出:N

样例2:

输入:10 3 4 5 6 7 25 1 56 134 111

输出:Y


#include <stdio.h>int checkElement(int a[], int n) {for (int i = 1; i < n; i++) {int sum = 0;for (int j = 0; j < i; j++) {sum += a[j]; // 计算 a[0] 到 a[i-1] 的和}if (a[i] == sum) {return 1; // 如果找到满足条件的元素,返回 1}}return 0; // 如果没有找到,返回 0}int main() {int n;scanf("%d", &n);int arr[n];for (int i = 0; i < n; i++) {scanf("%d", &arr[i]);}if (checkElement(arr, n)) {printf("Y\n");} else {printf("N\n");}return 0;}

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

食品进出库库存管理发货开单软件下载 佳易王食品进出库管理系统操作教程

一、概述 【软件资源下载在文章最后】 食品进出库库存管理发货开单软件下载 食品进出库管理系统操作教程 商品进出库管理软件是一款操作简便的进出库管理软件&#xff0c;管理入库&#xff0c;出库&#xff0c;库存&#xff0c;同时打印发货单。 二、软件操作教程 第一步&a…

C++和OpenGL实现3D游戏编程【连载18】——加载OBJ三维模型

1、本节课要实现的内容 以前我们加载过立方体木箱,立方体的顶点数据都是在程序运行时临时定义的。但后期如果模型数量增多,模型逐步复杂,我们就必须加载外部模型文件。这节课我们就先了解一下加载OBJ模型文件的方法,这样可以让编程和设计进行分工合作,极大丰富我们游戏效…

二刷代码随想录第四天

24. 两两交换链表中的节点 设置个虚拟头节点画图理清楚节点之间的指向关系 class Solution { public:ListNode* swapPairs(ListNode* head) {ListNode* dummyHead new ListNode(0);dummyHead->next head;ListNode* cur dummyHead;while (cur->next ! nullptr &&…

【Linux】proc 文件系统详解

/proc 文件系统是 Linux 内核提供的一种特殊的文件系统&#xff0c;它主要用于显示内核和进程的信息。/proc 文件系统是一个虚拟文件系统&#xff0c;这意味着它并不占用实际的磁盘空间&#xff0c;而是由内核动态生成的内容。通过 /proc 文件系统&#xff0c;用户可以读取系统…

Linux文件系统

Linux文件系统 Linux 文件系统是 Linux 操作系统中用于存储和组织文件的结构。以下是一些关键概念和常见的 Linux 文件系统类型&#xff1a; 关键概念 文件系统层次结构&#xff1a;Linux 使用统一的文件系统层次结构&#xff0c;所有文件和目录都从根目录 / 开始。 目录结构…

[1.15.X-1.18.X]Herobrine-吾王HIM插件

Herobrine 这款插件99%自定义!为你的服务器增加一个吓人的HIM&#xff0c;该插件是一个非玩家角色&#xff0c;由 Minecraft 的粉丝创建。从来没有真正成为 Minecraft 游戏的一部分&#xff0c;这个故事是他在 Minecraft 世界里出没&#xff0c;Mojang 通过开玩笑地将“移除的 …

CTF 取证技术

01 流量分析 筛选器的使用 追踪流 文件导出 实例&#xff1a;通过筛选 http ,推断出 攻击者很可能 是 执行一个 文件上传 的攻击hack.php 很可能就是 攻击者 上传的 webshell依次进行 http 的 追踪流 查看查看到最后&#xff0c;发现响应中 有 PK文件头的存在 &#xff0c;说…

【GPIO】3.上/下 拉电阻通讯中的作用

一.什么是上/下拉电阻 上拉、下拉电阻统一称为拉电阻&#xff0c;作用是将状态不确定的信号线通过一个电阻将其箝位至高电平&#xff08;上拉&#xff09;或低电平&#xff08;下拉&#xff09; 这里有人可能会疑惑&#xff1f; 什么叫状态不确定的信号&#xff1f; 在数字电…

分享购:前期布局与后期问题解决策略

在当今电商与消费模式不断创新的时代&#xff0c;分享购作为一种极具潜力的商业模式&#xff0c;正受到越来越多的关注。然而&#xff0c;要想让分享购真正发挥优势、实现可持续发展&#xff0c;无论是前期的精心布局&#xff0c;还是后期妥善应对各类问题&#xff0c;都至关重…

51c大模型~合集46

我自己的原文哦~ https://blog.51cto.com/whaosoft/11908179 #HITS 北大李戈团队提出大模型单测生成新方法&#xff0c;显著提升代码测试覆盖率 单元测试是软件开发流程中的一个关键环节&#xff0c;主要用于验证软件中的最小可测试单元&#xff0c;函数或模块是否按预期工作…

中断与异常处理:走进代码

在操作系统的核心部分&#xff0c;中断&#xff08;Interrupt&#xff09;和异常&#xff08;Exception&#xff09;的处理机制是不可或缺的基础。它们的设计决定了系统的响应能力、稳定性和可扩展性。本文将深入探讨 Linux 内核中的中断与异常处理机制&#xff0c;并结合更多实…

智慧社区管理系统平台全面提升物业管理效率与用户体验

内容概要 随着科技的发展&#xff0c;智慧社区管理系统平台应运而生&#xff0c;成为现代物业管理的重要工具。这个平台通过整合多种先进的管理手段&#xff0c;为物业服务提供了全新的解决方案。智慧社区管理系统的核心在于其高效、便捷、智能的特点&#xff0c;最大程度地提…

Pytest-Bdd-Playwright 系列教程(9):使用 数据表(DataTable 参数) 来传递参数

Pytest-Bdd-Playwright 系列教程&#xff08;9&#xff09;&#xff1a;使用 数据表&#xff08;DataTable 参数&#xff09; 来传递参数 前言一、什么是 datatable 参数&#xff1f;Gherkin 表格示例 二、datatable 参数的基本使用三、完整代码和运行效果完整的测试代码 前言 …

Java学习——Day10

static修饰的成员变量和方法&#xff0c;从属与类。普通变量和方法从属于对象的 静态块就是类在初始化的执行的语句块&#xff0c;静态块中常调用静态变量和静态方法。 以下编写一段代码举个例子 Java参数传值机制 java中&#xff0c;方法中所有参数都是“值传递”&#xff…

StructRAG Boosting Knowledge 论文笔记

StructRAG: Boosting Knowledge Intensive Reasoning of LLMs via Inference-time Hybrid Information Structurization 论文精读 背景知识 知识密集型推理任务&#xff08;knowledeg- intensive reasoning task&#xff09;: 知识密集型推理任务&#xff08;knowledge-inte…

【点云上采样】最近邻插值上采样算法 增加点云密度

看了很多文章都是用CGAL去做的&#xff0c;又是下载安装CGAL的贼麻烦&#xff0c;关键弄好还不能用&#xff0c;气死了。 文章目录 前言一、最近邻插值上采样算法1、原理&#xff1a;2、步骤&#xff1a; 二、完整代码三、效果对比 前言 传感器采集到的点云比较稀疏&#xff0…

C++仿函数

概念 仿函数本质上是一个类&#xff08;class&#xff09;或者结构体&#xff08;struct&#xff09;&#xff0c;不过这个类重载了函数调用运算符 operator()&#xff0c;使得它的实例对象可以像函数那样被调用。从使用方式上看&#xff0c;它能表现出类似函数的行为&#xf…

【Linux进程基础篇】总结 | => 进程环境变量(超详细)

-------------------------------------------------------------------------------------------------------------------------------- 每日鸡汤&#xff1a;Never frown&#xff0c; even when you are sad&#xff0c; because you never know who is falling in love wi…

PowerBI 无法拖动字段到组件上

今天在做PowerBI时发现一个奇怪的问题。 本来好好的报表&#xff0c;突然无法拖动字段到组件上。 后来在网上搜索相关问题&#xff0c;发现原因可能是因为"隐式度量值"被禁用。 就是说报表无法自动聚合计算&#xff0c;所以无法拖动字段到组件上。 正确的: 有问题…

熟食店称重计价秤软件下载 佳易王触摸屏称重自动读取重量自动计算金额系统操作教程

一、概述 【软件资源文件下载在文章最后】 熟食店称重计价秤软件下载 触摸屏称重自动读取重量自动计算金额系统操作教程 1、软件可以自动读取称的重量。2、自动计算金额并累计。不需打印条形码直接称重计算&#xff0c;节省人力和时间。 软件同时支持称重商品和条形码百货商…