PTA 6-3 入侵者圍剿第二關3情報解密

經過上一步已經將2個分隊得到的秘密情報合并到一起,并進行了信息去重。接下來,經過情報的分析,發現情報進行加密的方式,將鏈表從正中間斷開,然后后面的鏈表全部接到前面,輸出來的次序就是敵方的武器發射次序。

函數接口定義:

ptr encrypt(ptr head,ptr last,ptr s[]);

帶頭結點,head是頭指針,last是尾指針,s是ptr類型的數組。為了對鏈表方便的取正中央位置,加了一個輔助數組(以空間換時間)。每遍歷一個結點,把當前結點的地址存到數組s中,s的元素個數就是結點個數,s的元素值就是鏈表結點的地址

裁判測試程序樣例:

#include <stdio.h> 
#include <malloc.h> 
#include <string.h> 
typedef struct snode { 
char name[10]; int age; int num; 
struct snode *next; }node,*ptr; 
ptr creat();//系統默認實現(上一步代碼) 
ptr add(ptr ha,ptr hb);//系統默認實現(上一步代碼) 
ptr output(ptr h);//系統默認實現,有返回值,返回尾結點的地址 
ptr encrypt(ptr head,ptr last,ptr s[]);//答題者實現 
ptr createnode(ptr p,ptr last);//系統實現(上一步代碼) 
void addremaining(ptr p,ptr q,ptr last);//系統實現(上一步代碼) 
int main() { 
ptr h1,h2,h3,s[100]; h1=creat(); // 
output(h1); h2=creat(); // 
output(h2); h3=add(h1,h2); 
ptr last3=output(h3); 
last3=encrypt(h3,last3,s); 
output(h3); return 0; } 
ptr output(ptr h)//返回尾結點地址 { 
ptr q,p; p=h->next; 
while(p!=NULL) { 
printf("%s %d %d; ",p->name,p->age,p->num); 
q=p; p=p->next; } 
printf("\n"); return q; } 
ptr creat() { ptr head,tail,q; 
char tname[10]; int tnum; int tage; 
head=tail=(ptr)malloc(sizeof(node)); 
head->next=NULL; 
scanf("%d%s%d",&tnum,tname,&tage); 
while(tnum!=0) { 
q=(ptr)malloc(sizeof(node)); 
strcpy(q->name,tname); 
q->num=tnum; 
q->age=tage; 
tail->next=q; 
q->next=NULL; 
tail=tail->next; 
scanf("%d%s%d",&tnum,tname,&tage); } 
return head; } 
/* 請在這里填寫答案 */

輸入樣例1:

2 tom 22
4 jim 23
6 ho 21
0 0 0
1 lili 20
4 jim 23
7 bobo 19
9 fei 20
0 0 0

輸出樣例1:

lili 20 1; tom 22 2; jim 23 4; ho 21 6; bobo 19 7; fei 20 9; 
ho 21 6; bobo 19 7; fei 20 9; lili 20 1; tom 22 2; jim 23 4; 

6個結點,后三個結點斷開,重串到鏈表的首部,畫出示意圖,再理清串接關系

代碼實現:

?
ptr encrypt(ptr head, ptr last, ptr s[]) {int blacksheep=0;ptr p = head->next;while (p!= last) {s[blacksheep] = p;p = p->next;blacksheep++;}int mid = (blacksheep-1) / 2;p->next=NULL;head->next=s[mid+1];last->next=s[0];s[mid]->next=NULL;return head;
}?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/16311.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/16311.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/16311.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

綠色智能:AI機器學習在環境保護中的深度應用與實踐案例

&#x1f9d1; 博主簡介&#xff1a;阿里巴巴嵌入式技術專家&#xff0c;深耕嵌入式人工智能領域&#xff0c;具備多年的嵌入式硬件產品研發管理經驗。 &#x1f4d2; 博客介紹&#xff1a;分享嵌入式開發領域的相關知識、經驗、思考和感悟&#xff0c;歡迎關注。提供嵌入式方向…

在vps的centos系統中用Python和青龍檢測網頁更新

環境&#xff1a;vps&#xff0c;centos7&#xff0c;python3.8.10&#xff0c;青龍面板&#xff08;用寶塔安裝&#xff09; 任務&#xff1a;用python代碼&#xff0c;監控一個網站頁面是否有更新&#xff08;新帖子&#xff09;&#xff0c;若有&#xff0c;則提醒&#xf…

【數據結構】二叉樹的認識與實現

目錄 二叉樹的概念&#xff1a; 二叉樹的應用與實現&#xff1a; 二叉樹實現接口&#xff1a; 通過前序遍歷的數組"ABD##E#H##CF##G##"構建二叉樹 二叉樹節點個數?編輯 二叉樹葉子節點個數 二叉樹第k層節點個數 二叉樹查找值為x的節點?編輯 二叉樹前序遍…

XSS+CSRF攻擊

一、前言 在DVWA靶場的XSS攻擊下結合CSRF攻擊完成修改密碼 也就是在具有XSS漏洞的情況下實施CSRF攻擊 二、實驗 環境配置與上一篇博客一致&#xff0c;有興趣可以參考CSRF跨站請求偽造實戰-CSDN博客 首先登錄DVWA&#xff0c;打開XSS模塊 name隨便輸入&#xff0c;message…

嵌入式0基礎開始學習 Ⅲ Linux基礎(1)Linux基本命令

1.APT unbuntu中功能最強大的命令行軟件包管理工具&#xff0c; 用來獲取&#xff0c;安裝&#xff0c;編譯&#xff0c;卸載&#xff0c;查詢軟件包。 工作原理; /etc/apt/sources.list -> 文件 用來指針ubuntu的軟件源服務器…

HQL面試題練習 —— 合并數據

題目來源&#xff1a;京東 目錄 1 題目2 建表語句3 題解 1 題目 已知有數據 A 如下&#xff0c;請分別根據 A 生成 B 和 C。 數據A ------------ | id | name | ------------ | 1 | aa | | 2 | aa | | 3 | aa | | 4 | d | | 5 | c | | 6 | aa…

Android 使用 ActivityResultLauncher 申請權限

前面介紹了 Android 運行時權限。 其中&#xff0c;申請權限的步驟有些繁瑣&#xff0c;需要用到&#xff1a;ActivityCompat.requestPermissions 函數和 onRequestPermissionsResult 回調函數&#xff0c;今天就借助 ActivityResultLauncher 來簡化書寫。 步驟1&#xff1a;創…

基于FPGA的VGA協議實現

文章目錄 一、VGA介紹1.1 VGA原理1.2VGA電路 二、配置三、實現3.1 字符顯示3.2圖片顯示 四、代碼4.1.vga驅動模塊4.2數據模塊4.3按鍵消抖模塊4.4頂層模塊4.5TCL引腳綁定 參考 一、VGA介紹 1.1 VGA原理 VGA接口 最主要的幾根線&#xff1a; VGA其實就是相當于一塊芯片&#…

gcc g++不同版本切換命令

sudo update-alternatives --config g sudo update-alternatives --config gcc ubuntu20.04 切換 gcc/g 版本_ubuntu降低g版本-CSDN博客

YOLOv10嘗鮮測試五分鐘極簡配置

最近清華大學團隊又推出YOLOv10&#xff0c;真是好家伙了。 安裝&#xff1a; pip install supervision githttps://github.com/THU-MIG/yolov10.git下載權重&#xff1a;https://github.com/THU-MIG/yolov10/releases/download/v1.0/yolov10n.pt 預測&#xff1a; from ult…

Superset,基于瀏覽器的開源BI工具

BI工具是數據分析的得力武器&#xff0c;目前市場上有很多BI軟件&#xff0c;眾所周知的有Tableau、PowerBI、Qlikview、帆軟等&#xff0c;其中大部分是收費軟件或者部分功能收費。這些工具一通百通&#xff0c;用好一個就夠了&#xff0c;重要的是分析思維。 我一直用的Tabl…

【HMGD】STM32/GD32 CAN通信

各種通信協議速度分析 協議最高速度(btis/s)I2C400KCAN1MCAN-FD5M48510MSPI36M CAN協議圖和通信幀 CubeMX CAN配置說明 CAN通信波特率 APB1頻率 / 分頻系數 /&#xff08;BS1 BS2 同步通信段&#xff09;* 1000 ? 42 / 1 / (111) * 1000 ? 14,000 KHz ? 1400000…

吉林大學計科21級《軟件工程》期末考試真題

文章目錄 21級期末考試題一、單選題&#xff08;2分一個&#xff0c;十個題&#xff0c;一共20分&#xff09;二、問答題&#xff08;5分一個&#xff0c;六個題&#xff0c;一共30分&#xff09;三、分析題&#xff08;一個10分&#xff0c;一共2個&#xff0c;共20分&#xf…

前端自定義Echarts 圖的時候,重新渲染,頁面還保存原來的數據

自定義 setAxisSingleOption(optionData){var options this.axisSingleOptionoptions.title.text optionData.title.textoptions.xAxis.data optionData.xAxis.dataoptions.legend.data optionData.legend.dataoptions.series optionData.seriesoptions.grid optionData…

【C語言】10.C語言指針(1)

文章目錄 1.內存和地址1.1 內存1.2 究竟該如何理解編址 2.指針變量和地址2.1 取地址操作符&#xff08;&&#xff09;2.2 指針變量和解引?操作符&#xff08;*&#xff09;2.2.1 指針變量2.2.2 如何拆解指針類型2.2.3 解引?操作符 2.3 指針變量的?? 3.指針變量類型的意…

匯編:字符串的輸出

在16位匯編程序中&#xff0c;可以使用DOS中斷21h的功能號09h來打印字符串&#xff1b;下面是一個簡單的示例程序&#xff0c;演示了如何在16位匯編程序中打印字符串&#xff1a; assume cs:code,ds:data ? data segmentszBuffer db 0dh,0ah,HelloWorld$ //定義字符串 data …

【C++】哈夫曼編碼:高效的壓縮算法

哈夫曼編碼&#xff1a;高效的壓縮算法 什么是哈夫曼編碼&#xff1f; 哈夫曼編碼是一種用于數據壓縮的無損編碼方法&#xff0c;由David A. Huffman于1952年提出。它利用了字符出現頻率的不均勻性&#xff0c;通過構建最優前綴碼&#xff0c;能夠有效減少數據的冗余&#xf…

Flutter仿照微信實現九宮格頭像

一、效果圖 2、主要代碼 import dart:io; import dart:math;import package:cached_network_image/cached_network_image.dart; import package:flutter/material.dart;class ImageGrid extends StatelessWidget {final List<String> imageUrls; // 假設這是你的圖片URL…

關于Iterator 和ListIterator的詳解

1.Iterator Iterator的定義如下&#xff1a; public interface Iterator<E> {} Iterator是一個接口&#xff0c;它是集合的迭代器。集合可以通過Iterator去遍歷集合中的元素。Iterator提供的API接口如下&#xff1a; forEachRemaining(Consumer<? super E> act…

VS2022通過C++網絡庫Boost.Asio創建一個簡單的同步TCP服務器和客戶端

Boost.Asio是一個用于網絡和異步編程的C庫。它提供了一種跨平臺的方式來處理網絡編程和異步操作&#xff0c;使開發人員能夠創建高性能的網絡應用程序&#xff0c;asio幾乎支持所有你能夠想到的網絡協議&#xff0c;比如tcp、udp、ip、http、icmp等&#xff0c;C通過asio庫可以…