【PTA-C语言】实验五-一维数组

  • 如果代码存在问题,麻烦大家指正 ~ ~
  • 有帮助麻烦点个赞 ~ ~

    实验五-一维数组

    • 7-1 查找整数(分数 15)
    • 7-2 交换最小值和最大值(分数 15)
    • 7-3 简化的插入排序(分数 15)
    • 7-4 删除指定数据(分数 20)
    • 7-5 数组元素循环右移问题(分数 20)
    • 7-6 找出不是两个数组共有的元素(分数 20)

7-1 查找整数(分数 15)

作者 杨起帆
单位 浙大城市学院

本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”

输入格式:
输入在第一行中给出两个正整数N(≤20)和X,第二行给出N个整数。数字均不超过长整型,其间以空格分隔。

输出格式:
在一行中输出X的位置,或者“Not Found”

输入样例1:

5 7
3 5 7 1 9

输出样例1:

2

输入样例2:

5 7
3 5 8 1 9

输出样例2:

Not Found

代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

参考代码

#include <stdio.h>
int main()
{int n, x, a, i, flag=0;scanf("%d %d", &n, &x);for(i=0; i<n; i++) {scanf("%d", &a);if(a==x){printf("%d", i);flag = 1;}}if(flag == 0)printf("Not Found");return 0;
}

7-2 交换最小值和最大值(分数 15)

作者 C课程组
单位 浙江大学

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

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

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

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

输入样例:

5
8 2 5 1 4

输出样例:

1 2 5 4 8 

代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

参考代码

#include <stdio.h>
int main()
{int i, n, min, max, idx1=0, idx2=0, temp;int a[10];scanf("%d", &n);for(i=0; i<n; i++)scanf("%d", &a[i]);max=a[0]; min=a[0];for(i=1; i<n; i++) {if(min>a[i]) {min=a[i];idx1=i;} if(max<a[i]) {max=a[i];idx2=i;}}if(idx2==0)idx2=idx1;temp=a[0]; a[0]=a[idx1]; a[idx1]=temp; temp=a[n-1]; a[n-1]=a[idx2]; a[idx2]=temp; for(i=0; i<n; i++)printf("%d ", a[i]);return 0;
}

7-3 简化的插入排序(分数 15)

作者 C课程组
单位 浙江大学

本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。

输入格式:
输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X

输出格式:
在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。

输入样例:

5
1 2 4 5 7
3

输出样例:

1 2 3 4 5 7 

代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

参考代码

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

7-4 删除指定数据(分数 20)

作者 孙骏
单位 武汉理工大学

在一列数据中,删除指定的值。输出每次删除后的数列。若数列中无待删除数据,则输出原数列。

输入格式:
在第1行输入一个整数n(0<n<=1000),表示数据个数;
在第2行输入n个整数,以空格分隔;
在第3行输入整数m,表示需要删除的值。

输出格式:
每次删除后,输出删除后的数列,每个数据后有一个空格。
每行输出一次删除后结果。
若数列中无待删除数据,则输出原数列。

输入样例 1:

10
5 8 7 12 17 15 3 7 7 10
7

输出样例 1:

5 8 12 17 15 3 7 7 10 
5 8 12 17 15 3 7 10 
5 8 12 17 15 3 10 

输入样例 2:

10
5 8 7 12 17 15 3 7 7 10
6

输出样例 2:

5 8 7 12 17 15 3 7 7 10 

代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

参考代码

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

7-5 数组元素循环右移问题(分数 20)

作者 DS课程组
单位 浙江大学

一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1 ⋯ AN−1)变换为(AN−M ⋯ AN−1A0A1 ⋯ AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?

输入格式:
每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。

输出格式:
在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。

输入样例:

6 2
1 2 3 4 5 6

输出样例:

5 6 1 2 3 4

代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

参考代码

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

7-6 找出不是两个数组共有的元素(分数 20)

作者 张彤彧
单位 浙江大学

给定两个整型数组,本题要求找出不是两者共有的元素。

输入格式:
输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。

输出格式:
在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。

输入样例:

10 3 -5 2 8 0 3 5 -15 9 100
11 6 4 8 2 6 -5 9 0 100 8 1

输出样例:

3 5 -15 6 4 1

代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

参考代码

#include<stdio.h>
int main()
{int a1[50], a2[50], a3[50];int m, n, i, j, k = 0;scanf("%d", &m);for (i = 0; i < m; i++)scanf("%d", &a1[i]);scanf("%d", &n);for (i = 0; i < n; i++)scanf("%d", &a2[i]);for (i = 0; i < m; i++) {for (j = 0; j < n && a2[j] != a1[i]; j++);if (j == n) a3[k++] = a1[i];}for (i = 0; i < n; i++) {for (j = 0; j < m && a1[j] != a2[i]; j++);if (j == m) a3[k++] = a2[i];}printf("%d", a3[0]);for(i = 1; i < k; i++) {for(j = 0; j < i && a3[i] != a3[j]; j++);if(j == i) printf(" %d", a3[i]);}return 0;
}

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

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

相关文章

node14升级node16之后,webpack3项目无法启动处理

node从14升级到16之后&#xff0c;项目就无法启动了&#xff0c;研究了webpack3升级5&#xff0c;研究好几个小时都无法启动&#xff0c;最后发现&#xff0c;微微升级几个版本就可以了。webpack还是3 版本改了好多个的&#xff0c;但是不确定具体是哪几个起作用的&#xff0c;…

var、let、const 的区别?

var 1、var 声明的变量在全局内有效 2、可以重复声明 3、var 声明的变量存在变量提升 let 1、遇到{}可开启块级作用域 2、不能重复声明--- 可以防止变量重复定义产生的冲突&#xff0c;会直接报错 3、let 声明的变量不存在变量提升 const 1、const 声明…

解读unity内置的软阴影处理方式

解读unity内置的软阴影处理方式&#xff1a; 参考网址&#xff1a; https://blog.csdn.net/cgy56191948/article/details/105726682 https://blog.csdn.net/weixin_45776473/article/details/119582218 https://tajourney.games/5482/ 上面的博客已经论述了&#xff0c;为何出现…

个人博客搭建保姆级教程-Nginx篇

官方文档 nginx documentation 说明 nginx是我们本次教程使用的http服务器。它能承受很高的并发&#xff0c;并且安装简单&#xff0c;占用内存少。 在服务器篇我们提到了nginx的安装&#xff0c;在发布篇我们简述了该怎么放置我们创建的博客html文档。 在本篇&#xff0c…

css的复合选择器(有案例)

目录 复合选择器的描述 后代选择器&#xff08;常用重点&#xff09; 子选择器 并集选择器&#xff08;重点常用&#xff09; 伪类选择器 链接伪类选择器 focus 伪类选择器 知识总结&#xff1a; 案例实现&#xff1a; 复合选择器的描述 在 CSS 中&#xff0c;可以根…

日志门面slf4j和各日志框架

简介 简单日志门面(Simple Logging Facade For Java) SLF4J主要是为了给Java日志访问提供一套标准、规范的API框架&#xff0c; 其主要意义在于提供接口&#xff0c;具体的实现可以交由其他日志框架&#xff0c;如log4j、logback、log4j2。 对于一般的Java项目而言&#xff…

一个用于处理嵌入式系统中的 NAND Flash 存储器的工具 `kobs-ng`

一个用于处理嵌入式系统中的 NAND Flash 存储器的工具 kobs-ng kobs-ng 是一个用于处理嵌入式系统中的 NAND Flash 存储器的工具。它是 U-Boot&#xff08;开源引导加载程序&#xff09;中的一个子项目&#xff0c;用于擦除、写入和读取 NAND Flash 设备上的数据。 以下是 kob…

SpringData JPA 搭建 xml的 配置方式

1.导入版本管理依赖 到父项目里 <dependencyManagement><dependencies><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-bom</artifactId><version>2021.1.10</version><scope>…

【力扣100】238.除自身以外数组的乘积

添加链接描述 class Solution:def productExceptSelf(self, nums: List[int]) -> List[int]:# 构造第i个数的左右数组n len(nums)left,right,res [1]*n,[1]*n,[1]*nfor i in range(1,n):left[i] nums[i-1]*left[i-1]for i in range(n-2,-1,-1):right[i] nums[i1]*right…

STM32Cube高效开发教程<基础篇>(十二)----ADC

声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。    本专栏博客参考《STM32Cube高效开发教程(基础篇)》,有意向的读者可以购买正版书籍辅助学习,本书籍由王维波老师、鄢志丹老师、王钊老师倾力打造,书籍内容干货满满。 一、功能概述 …

【C++11】lambda表达式及包装器

一.lambda表达式 1.可调用对象 可调用对象即可以像函数一样被调用的对象&#xff0c;有以下三种&#xff1a; 函数(指针)仿函数对象lambda表达式 tips&#xff1a;调用函数时&#xff0c;既可以用函数名&#xff0c;也可以用函数地址&#xff0c;因为函数名和函数地址是一回事…

Python从入门到精通五:Python数据容器

数据容器入门 为什么学习数据容器 思考一个问题&#xff1a;如果我想要在程序中&#xff0c;记录5名学生的信息&#xff0c;如姓名。 如何做呢&#xff1f; 学习数据容器&#xff0c;就是为了批量存储或批量使用多份数据 Python中的数据容器&#xff1a; 一种可以容纳多份…

Kalman滤波、扩展Kalman滤波、无迹Kalman滤波和异步滤波的原理及其Matlab代码

目录 引言Kalman滤波代码及其结果展示 扩展Kalman滤波代码及其结果展示 无迹Kalman滤波无迹变换无迹Kalman滤波代码及其结果展示 异步无迹Kalman滤波原理代码及其结果展示 引言 本文给出了Kalman Filter&#xff08;卡尔曼滤波&#xff09;、Extended Kalman Filter&#xff0…

leetcode 98. 验证二叉搜索树

leetcode 98. 验证二叉搜索树 题目 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。 节点的右子树只包含 大于 当前节点的数。 所有左子树和右子树自身必须也是…

vue3 引入 markdown编辑器

参考文档 安装依赖 pnpm install mavon-editor // "mavon-editor": "3.0.1",markdown 编辑器 <mavon-editor></mavon-editor>新增文本 <mavon-editor ref"editorRef" v-model"articleModel.text" codeStyle"…

Adams与Abaqus冲突问题

随着工程仿真软件的广泛应用&#xff0c;Adams和Abaqus已成为众多工程师的首选工具。然而&#xff0c;在使用过程中&#xff0c;一些用户可能会遇到这两个软件之间的冲突问题&#xff0c;导致无法正常进行仿真分析。为了帮助大家解决这一难题&#xff0c;我们推出了一篇关于Ada…

Softmax回归

一、Softmax回归关键思想 1、回归问题和分类问题的区别 Softmax回归虽然叫“回归”&#xff0c;但是它本质是一个分类问题。回归是估计一个连续值&#xff0c;而分类是预测一个离散类别。 2、Softmax回归模型 Softmax回归跟线性回归一样将输入特征与权重做线性叠加。与线性回归…

Linux安装Nginx并部署Vue项目

今天部署了一个Vue项目到阿里云的云服务器上&#xff0c;现记录该过程。 1. 修改Vue项目配置 我们去项目中发送axios请求的文件里更改一下后端的接口路由&#xff1a; 2. 执行命令打包 npm run build ### 或者 yarn build 打包成功之后&#xff0c;我们会看到一个dist包&a…

[MySQL]SQL优化之索引的使用规则

&#x1f308;键盘敲烂&#xff0c;年薪30万&#x1f308; 目录 一、索引失效 &#x1f4d5;最左前缀法则 &#x1f4d5;范围查询> &#x1f4d5;索引列运算&#xff0c;索引失效 &#x1f4d5;前模糊匹配 &#x1f4d5;or连接的条件 &#x1f4d5;字符串类型不加 …

110. 平衡二叉树(Java)

给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a; 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;t…