【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.pswp.cn/news/214498.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/214498.shtml
英文地址,請注明出處:http://en.pswp.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…