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

news2024/11/17 14:50:18

题目编号: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.coloradmin.cn/o/2242231.html

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

相关文章

论文PDF页面无法下载PDF

问题&#xff1a;通常在下载学术论文时&#xff0c;网页命名是PDF页面&#xff0c;但是无法下载PDF&#xff0c;下载的是html网页 解决&#xff1a; mac&#xff1a;按F12打开开发者界面 然后点击源代码/来源选项 然后打开下图所在位置&#xff0c;鼠标右键复制链接&#xff…

ORA-01092 ORA-14695 ORA-38301

文章目录 前言一、MAX_STRING_SIZE--12C 新特性扩展数据类型 varchar2(32767)二、恢复操作1.尝试恢复MAX_STRING_SIZE参数为默认值2.在upgrade模式下执行utl32k.sql 前言 今天客户发来一个内部测试库数据库启动截图报错&#xff0c;描述是“上午出现服务卡顿&#xff0c;然后重…

ElasticSearch学习笔记二:使用Java客户端

一、前言 在上一篇文章中&#xff0c;我们对ES有了最基本的认识&#xff0c;本着实用为主的原则&#xff0c;我们先不学很深的东西&#xff0c;今天打算先学习一下ES的Java客户端如何使用。 二、创建项目 1、普通Maven项目 1、创建一个Maven项目 2、Pom文件 <dependenc…

[Linux]多线程详解

多线程 1.线程的概念和理解1.1线程的优点1.2线程的缺点1.3线程的设计1.4线程 VS 进程 2.线程控制2.1线程等待2.2 线程终止2.3 线程分离 3.线程互斥3.1背景3.2抢票代码演示3.3保护公共资源&#xff08;加锁&#xff09;3.3.1创建锁/销毁锁3.3.2申请锁/尝试申请锁/解锁 3.4解决抢…

替换OpenTSDB和HBase,宝武集团使用IoTDB助力钢铁设备智能运维

时序数据库 IoTDB 应用于宝武集团全基地钢铁时序数据管理&#xff0c;激活数据资产&#xff0c;赋能大型设备智能运维。 1. 背景概述 宝武装备智能科技有限公司&#xff08;以下简称&#xff1a;宝武智维&#xff09;是中国宝武设备智能运维专业化平台公司&#xff0c;30 余年始…

VSCode+ESP-IDF开发ESP32-S3-DevKitC-1(1)开发环境搭建

VSCodeESP-IDF开发ESP32-S3-DevKitC-1&#xff08;1&#xff09;开发环境搭建 1.开发环境搭建&#xff08;安装ESP-IDF&#xff09;2.开发环境搭建&#xff08;安装VS Code&#xff09;3.开发环境搭建&#xff08;VSCode中安装ESP-IDF插件及配置&#xff09; 1.开发环境搭建&am…

Ubuntu24 上安装搜狗输入法

link 首先在终端中依次输入以下代码 sudo apt update sudo apt install fcitx 找到语言支持 在终端中依次输入 sudo cp /usr/share/applications/fcitx.desktop /etc/xdg/autostart/ sudo apt purge ibus 进入网页 搜狗输入法linux-首页​ shurufa.sogou.com/linux 找到刚才下…

Qt文件目录操作

文件目录操作相关类 Qt 为文件和目录操作提供了一些类&#xff0c;利用这些类可以方便地实现一些操作。Qt 提供的与文件和目录操作相关的类包括以下几个&#xff1a; QCoreApplication&#xff1a;用于提取应用程序路径&#xff0c;程序名等文件信息&#xff1b;QFile&#x…

Session注入

Session注入 在进行Dll注入的时候&#xff0c;我们发现没法注入一些系统进程 提示我们缺少权限或者拒绝访问&#xff0c;甚至干脆就是什么反应都没有 这时候我们考虑往更加底层去跟函数&#xff0c;我们不能再使用在用户层所给我们的函数&#xff0c;我们自己去寻找内核层的…

深入List集合:ArrayList与LinkedList的底层逻辑与区别

目录 一、前言 二、基本概念 三、相同之处 四、不同之处 五、ArrayList 底层 六、LinkedList 底层 七、ArrayList 应用场景 八、LinkedList 应用场景 九、ArrayList和LinkedList高级话题 十、总结 一、前言 在Java集合的广阔舞台上&#xff0c;ArrayList与LinkedLis…

从建立TRUST到实现FAIR:可持续海洋经济的数据管理

1. 引言 随着我们对信息管理方式的信任&#xff0c;我们的社会对数字化数据的以来呈指数级增长。为了跟上大数据的需求&#xff0c;通过不断的努力和持续实践&#xff0c;对“good”数据管理方式的共识也在不断发展和演变。 加拿大正在建设国家基础设施和服务以及研究数据管理…

数据结构《栈和队列》

文章目录 一、什么是栈&#xff1f;1.1 栈的模拟实现1.2 关于栈的例题 二、什么是队列&#xff1f;2.2 队列的模拟实现2.2 关于队列的例题 总结 提示&#xff1a;关于栈和队列的实现其实很简单&#xff0c;基本上是对之前的顺序表和链表的一种应用&#xff0c;代码部分也不难。…

一.Spring cloud--Consul服务注册与发现(2)

安装并运行Consul (1)官网下载 (2)下载完成后只有一个consul.exe文件,对应全路径下查看版本号信息 (3)使用开发模式启动 consul agent -dev 通过以下地址可以访问Consul的首页: http://localhost:8500 结果页面

【搜索结构】AVL树的学习与实现

目录 什么是AVL树 AVL树的定义 插入函数的实现 左单旋和右单旋 左右双旋与右左双旋 什么是AVL树 AVL树实际上就是二叉搜索树的一种变体&#xff0c;我们都知道二i叉搜索树可以将查找的时间复杂度提升到O(logn)&#xff0c;极大提升搜索效率。但是在极端情况下&#xff0c;当…

IPTV智慧云桌面,后台服务器搭建笔记

环境CentOs7.9 &#xff0c;安装宝塔yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 访问宝塔&#xff0c;修改服务器端口安全组端口 26029 注意&#xff01;&#xff01;&#xff01;&#xff01…

IDEA leetcode插件代码模板配置,登录闪退解决

前言 最近换电脑&#xff0c;配置idea时和原来的模板格式不一样有点难受&#xff0c;记录一下自己用的模板&#xff0c;后期换电脑使用&#xff0c;大家也可以使用&#xff0c;有更好的地方可以分享给我~ IDEA leetcode插件代码模板配置,登录闪退解决 前言1 下载IDEA leetcode…

Django基础用法+Demo演示

Django快速上手 参考: Django快速上手 再写几个页面 编辑demo1/urls.py, 添加URL和视图函数映射 urlpatterns [path(index/, views.index),path(user/list/, views.user_list),path(user/add/, views.user_add), ]编辑app01/views.py&#xff0c;添加几个函数 from djang…

蓝桥杯-洛谷刷题-day3(C++)

目录 1.忽略回车的字符串输入 i.getline() ii.逐个字符的识别再输入 2.获取绝对值abs() 3.做题时的误区 4.多个变量的某一个到达判断条件 i.max() 5.[NOIP2016 提高组] 玩具谜题 i.代码 6.逻辑上的圆圈 i.有限个数n的数组 7.数组的定义 i.动态数组 1.忽略回车的字符串输…

Redis在高性能缓存中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 Redis在高性能缓存中的应用 Redis在高性能缓存中的应用 Redis在高性能缓存中的应用 引言 Redis 概述 定义与原理 发展历程 Redi…

AOP实现上下游泳道隔离RPC调用

在平时代码项目代码测试的过程中&#xff0c;“隔离”思想就经常被用上&#xff0c;比方说多个并行开发的需求都需要用到服务 A 的能力&#xff0c;但是又需要同时部署 A 不同的代码分支&#xff0c;这个时候“泳道隔离”机制就显得尤为重要了。“泳道隔离”即将相同代码仓库的…