浙江大學PTA程序設計C語言基礎編程練習題1-5

在這里插入圖片描述
🌏個人博客主頁:意疏-CSDN博客
在這里插入圖片描述

希望文章能夠給到初學的你一些啟發~ 如果覺得文章對你有幫助的話,點贊 + 關注+ 收藏支持一下筆者吧~

閱讀指南:

  • 開篇說明
    • 題目一、厘米換算英寸
    • 題目二、然后是幾點
    • 題目三、 逆序的三位數
    • 題目四、BCD解密
    • 題目五、表格輸出


開篇說明

本文我們來寫一下浙江大學PTA平臺經典代碼

題目一、厘米換算英寸

如果已知英制長度的英尺foot和英寸inch的值,那么對應的米數是(foot+inch/12)×0.3048。現在,如果用戶輸入的是厘米數,那么對應英制長度的英尺和英寸是多少呢?別忘了1英尺等于12英寸。

輸入格式:

輸入在一行中給出1個正整數,單位是厘米。

輸出格式:

在一行中輸出這個厘米數對應英制長度的英尺和英寸的整數值,中間用空格分開。
英寸的值應該小于12.

輸入樣例:

170

輸出樣例

5 6

我們首先來看思路:

  1. 要定義三個整型變量 foot,inch和meter。
    其中foot、inch用于存儲轉換后的英尺和英寸值,meter可以用來存儲用戶輸入的米數。
  2. 其次我們還要讀入一個整數 來存儲到整型變量meter中。
  3. 然后我們將米數轉換為英尺。因為1英尺等于30.448厘米,所以將米數除30.48即可得到英尺數。
  4. 最后我們還要計算剩余的英寸數,首先計算剩余的米數(meter - 30.48 * foot),然后再將其轉換為英寸(剩余米數除30.48乘12)
  • 這是示例代碼:
#include <stdio.h>
int main()
{int foot,inch;int meter;*scanf("%d",&meter);foot = meter/30.48;inch = (meter-30.48*foot)/30.48*12;printf("%d %d\n",foot,inch);return 0;
}

這是最終結果
在這里插入圖片描述

題目二、然后是幾點

有時候人們用四位數字表示一個時間,比如 1106 表示 11 點零 6 分。現在,你的程序要根據起始時間和流逝的時間計算出終止時間。
讀入兩個數字,第一個數字以這樣的四位數字表示當前時間,第二個數字表示分鐘數,計算當前時間經過那么多分鐘后是幾點,結果也表示為四位數字。當小時為個位數時,沒有前導的零,例如 5 點 30 分表示為 530;0 點 30 分表示為 030。注意,第二個數字表示的分鐘數可能超過 60,也可能是負數。。

輸入格式:

輸入在一行中給出 2 個整數,分別是四位數字表示的起始時間、以及流逝的分鐘數,其間以空格分隔。注意:在起始時間中,當小時為個位數時,沒有前導的零,即 5 點 30 分表示為 530;0 點 30 分表示為 030。流逝的分鐘數可能超過 60,也可能是負數。

輸出格式:

輸出不多于四位數字表示的終止時間,當小時為個位數時,沒有前導的零。題目保證起始時間和終止時間在同一天內。

輸入樣例:

1120 110

輸出樣例

1310

我們首先來看思路:

  1. 輸入解析:讀取四位時間(如1120)和分鐘數(如110)
  2. 時間拆分:1120 → 11小時20分
  3. 轉分鐘數:11×60+20=680分鐘
  4. 時間計算:680+110=790分鐘
  5. 轉回時分:790→13小時10分(790÷60=13,790%60=10)
  6. 處理負數:若分鐘為負,小時借1(如-30→小時-1,分鐘+60)
  7. 輸出格式:小時直接輸出,分鐘補零(如13:10→1310,5:05→505)
  • 這是示例代碼:
#include <stdio.h>
int main()
{int foot,inch;int meter;*scanf("%d",&meter);foot = meter/30.48;inch = (meter-30.48*foot)/30.48*12;printf("%d %d\n",foot,inch);return 0;
}

這是最終結果
在這里插入圖片描述

題目三、 逆序的三位數

程序每次讀入一個正3位數,然后輸出按位逆序的數字。注意:當輸入的數字含有結尾的0時,輸出不應帶有前導的0。比如輸入700,輸出應該是7。

輸入格式:

每個測試是一個3位的正整數。

輸出格式:

輸出按位逆序的數。

輸入樣例:

123

輸出樣例

321
我們首先來看思路:

  1. 輸入解析:讀取一個三位正整數(如123)
  2. 數字分解
    • 百位 = 原數 ÷ 100(123 → 1)
    • 十位 = (原數 ÷ 10) % 10(123 → 2)
    • 個位 = 原數 % 10(123 → 3)
  3. 反轉重組
    • 反轉數 = 個位×100 + 十位×10 + 百位(3×100+2×10+1=321)
  4. 輸出結果
    • 直接輸出反轉后的整數(自動忽略前導零,如700反轉后為7而非007)

這是最終結果

#include <stdio.h>
int main() {int num;scanf("%d", &num);// 分解三位數的各位數字int hundreds = num / 100;      // 百位int tens = (num / 10) % 10;    // 十位int ones = num % 10;           // 個位int reversed = ones * 100 + tens * 10 + hundreds;printf("%d\n", reversed);return 0;
}    
  • 這是最終結果:
    在這里插入圖片描述

題目四、BCD解密

BCD數是用一個字節來表達兩位十進制的數,每四個比特表示一位。所以如果一個BCD數的十六進制是0x12,它表達的就是十進制的12。但是小明沒學過BCD,把所有的BCD數都當作二進制數轉換成十進制輸出了。于是BCD的0x12被輸出成了十進制的18了!
現在,你的程序要讀入這個錯誤的十進制數,然后輸出正確的十進制數。提示:你可以把18轉換回0x12,然后再轉換回12。

輸入格式:

輸入在一行中給出一個[0, 153]范圍內的正整數,保證能轉換回有效的BCD數,也就是說這個整數轉換成十六進制時不會出現A-F的數字。

輸出格式:

輸出對應的十進制數。

輸入樣例:

18

輸出樣例

12
我們首先來看思路:

  1. 輸入處理:讀取一個十進制整數 c。
    進制轉換:
    計算 c 除以 16 的商(a = c / 16),得到十六進制的高位數字。
    計算 c 除以 16 的余數(b = c % 16),得到十六進制的低位數字。
  2. 結果重組:將高位和低位數字組合為一個兩位十進制數(answer = a * 10 + b)。
  3. 輸出結果:直接打印組合后的結果。
    這是最終結果
#include <stdio.h>
int main(){int a,b,c,answer;scanf("%d",&c);a = c / 16;b = c % 16;answer = a * 10 + b;printf("%d",answer);
return 0;   
}
  • 這是最終結果:
    在這里插入圖片描述

題目五、表格輸出

本題要求編寫程序,按照規定格式輸出表格。

輸入格式:

本題目沒有輸入。

輸出格式:

ProvinceArea(km2)Pop.(10K)
Anhui139600.006461.00
Beijing16410.541180.70
Chongqing82400.003144.23
Shanghai6340.501360.26
Zhejiang101800.004894.00
我們首先來看思路:
  1. 直接輸出:將表格內容作為字符串常量直接嵌入到printf函數中。
  2. 格式控制:通過手動添加換行符\n和空格來控制表格的行和列對齊。
  3. 原封不動:完全保留原始表格的格式,包括分隔線、列標題和數據行。
    這是示例代碼
#include <stdio.h>
int main (){printf ("------------------------------------\nProvince      Area(km2)   Pop.(10K)\n------------------------------------\nAnhui         139600.00   6461.00\nBeijing        16410.54   1180.70\nChongqing      82400.00   3144.23\nShanghai        6340.50   1360.26\nZhejiang      101800.00   4894.00\n------------------------------------\n");return 0;
}
  • 這是最終結果:
    在這里插入圖片描述
    在這里插入圖片描述

意氣風發,漫卷疏狂
學習是成長的階梯,每一次的積累都將成為未來的助力。我希望通過持續的學習,不斷汲取新知識,來改變自己的命運,并將成長的過程記錄在我的博客中
如果我的博客能給您帶來啟發,如果您喜歡我的博客內容,請不吝點贊、評論和收藏,也歡迎您關注我的博客。
您的支持是我前行的動力。聽說點贊會增加自己的運氣,希望您每一天都能充滿活力!

愿您每一天都快樂,也歡迎您常來我的博客。我叫意疏,希望我們一起成長,共同進步。
logo 我是意疏 下次見!

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

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

相關文章

catkin build的config設置指南[設置多種make模式或策略]

在本篇文章中&#xff0c;我們來盡可能詳細地深入探討 catkin config 的使用方法。這是掌握 catkin_tools 工作流的關鍵&#xff0c;能極大地提升你的開發效率和項目的規范性。 catkin config 的核心思想 首先&#xff0c;要理解它的核心思想&#xff1a;為你的 Catkin 工作空間…

Ubuntu掛載和取消掛載

在 Ubuntu 中&#xff0c;掛載&#xff08;Mount&#xff09;和取消掛載&#xff08;Unmount&#xff09;是管理存儲設備&#xff08;如硬盤、U盤、ISO鏡像等&#xff09;的常見操作。以下是詳細指南&#xff1a;1. 掛載&#xff08;Mount&#xff09; 1.1 查看可用存儲設備 ls…

Vue開發常用庫(含npm安裝命令)

Vue開發常用庫&#xff08;含npm安裝命令&#xff09; 核心生態系統&#xff1a;Vue Router - 官方路由管理器 npm install vue-router4 # Vue 3 npm install vue-router3 # Vue 2Pinia - 新一代狀態管理庫 npm install piniaVuex - 傳統狀態管理庫 npm install vuexnext …

[硬件電路-39]:激光光路的光信號處理、模擬電路的電信號處理、數字電路的電信號處理、軟件的信號處理,有哪些共通的操作、運算、變換?

激光光路、模擬電路、數字電路及軟件中的信號處理在操作、運算和變換層面存在顯著共性&#xff0c;這些共性體現了信號處理的核心邏輯在不同技術領域的通用性。以下是具體分析&#xff1a; 目錄 一、共通操作&#xff1a;信號處理的基礎動作 1、放大與衰減 2、濾波 3、調制…

Grails(Groovy)框架拋出NoHandlerFoundException而不是返回404 Not Found

本文記錄在基于Spring(Boot)框架&#xff08;使用Java語言&#xff09;和Grails框架&#xff08;使用Groovy語言&#xff09;下&#xff0c;開發Controller接口&#xff0c;對不存在的URL請求&#xff0c;接口返回404 not found&#xff0c;而不是拋出NoHandlerFoundException異…

muduo中事件循環線程池的理解

事件循環線程池的理解前置知識reactor模型thread::start()方法的理解創建線程池子線程被喚醒的幾種情況子線程被主線程喚醒新連接到來有消息需要發送時&#xff08;多reactor情況時&#xff09;關閉連接時子線程被喚醒執行任務在 上一篇中&#xff0c;我們討論了關于簡單的線程…

AI智能體“上下文工程”實踐:來自 Manus 項目的經驗總結

轉載&#xff1a;https://manus.im/blog/Context-Engineering-for-AI-Agents-Lessons-from-Building-Manus 在啟動 Manus (manus.im/app) 項目之初&#xff0c;我的團隊面臨一個關鍵抉擇&#xff1a;究竟是基于開源基礎模型訓練一個端到端的智能體模型&#xff0c;還是在前沿大…

day19 鏈表

定義鏈式存儲的線性表頭文件相關定義 typedef int datatype;//定義數據域類型 typedef struct Node {union{int len; //頭結點數據域datatype data; //普通節點數據域};struct Node *next; //節點指針域 }Node,*Node_ptr;鏈表的函數 注意事項 1.創建節點時&#xff0c;需要初…

【第三節】Class與Style綁定

文章目錄Class與Style綁定綁定HTML Class對象語法數組語法綁定內聯樣式對象語法數組語法自動添加前綴Class與Style綁定 數據綁定一個常見需求是操作元素的 class 列表和它的內聯樣式,因為它們都是屬性&#xff0c;我們可以用 v-bind 處理它們:我們只需要計算出表達式最終的字符…

CMOS知識點 離子注入工藝

知識點8&#xff1a;離子注入是為了將摻雜劑&#xff08;如硼、磷等&#xff09;精確引入硅晶片的近表面區域&#xff0c;以改變其電學性質。工藝過程&#xff1a;電離與加速&#xff1a;摻雜劑原子在離子源中被電離&#xff08;帶電&#xff09;&#xff0c;通過高壓電場&…

從安裝到上手:Ubuntu 22.04 玩轉 Containerd 2.1.3 容器運行時

Containerd 是一款支持 OCI 規范的容器運行時&#xff0c;注重容器部署和生命周期管理的簡單性、健壯性與可移植性&#xff0c;常被嵌入到 Docker 和 Kubernetes 等系統中。本文將詳細介紹在 Ubuntu 22.04 服務器上通過二進制包手動安裝 Containerd 的完整步驟&#xff0c;包括…

Hadoop與云原生集成:彈性擴縮容與OSS存儲分離架構深度解析

Hadoop與云原生集成的必要性Hadoop在大數據領域的基石地位作為大數據處理領域的奠基性技術&#xff0c;Hadoop自2006年誕生以來已形成包含HDFS、YARN、MapReduce三大核心組件的完整生態體系。根據CSDN技術社區的分析報告&#xff0c;全球超過75%的《財富》500強企業仍在使用Had…

飛算科技:以創新科技引領數字化變革,旗下飛算 JavaAI 成開發利器

作為國家級高新技術企業&#xff0c;飛算科技專注于自主創新&#xff0c;在數字科技領域持續深耕&#xff0c;用前沿技術為各行業客戶賦能&#xff0c;助力其實現數字化轉型升級的飛躍。?飛算科技憑借深厚的技術積累&#xff0c;將互聯網科技、大數據、人工智能等技術與實際應…

多線程Python爬蟲:加速大規模學術文獻采集

1. 引言 在學術研究過程中&#xff0c;高效獲取大量文獻數據是許多科研工作者和數據分析師的需求。然而&#xff0c;傳統的單線程爬蟲在面對大規模數據采集時&#xff0c;往往效率低下&#xff0c;難以滿足快速獲取數據的要求。因此&#xff0c;利用多線程技術優化Python爬蟲&a…

NX717NX720美光固態閃存NX724NX728

美光NX系列固態閃存深度解析&#xff1a;技術、性能與市場洞察一、技術架構與核心創新美光NX系列固態閃存&#xff08;包括NX717、NX720、NX724、NX728&#xff09;的技術根基源于其先進的G9 NAND架構。該架構通過5納米制程工藝和多層3D堆疊技術&#xff0c;實現了存儲單元密度…

淺談——C++和C#差異

雖然這個話題看著似乎有些關公戰秦瓊的味道&#xff0c;但是作為游戲開發者&#xff0c;C和C#一定是繞不開的兩門語言。不過雖然說是比較二者差異&#xff0c;因為我學習的過程主要是先學C&#xff0c;所以我先基于C的認知&#xff0c;再來聊聊C#之中的不同。&#xff08;為什么…

rocky9-zabbix簡單部署

目錄 一、準備 1、&#xff08;rocky9&#xff09; 2、配置數據庫 二、配置文件 1、導入初始架構與數據 2、配置相關文件 三、啟動服務 1、瀏覽器訪問 2、解決亂碼問題 ?編輯 四、監控 ① 添加主機 1、修改配置文件 2、啟動服務 3、網頁添加 ②添加監控模塊 1…

tabBar設置底部菜單選項、iconfont圖標(圖片)庫、模擬京東app的底部導航欄

歡迎來到我的UniApp技術專欄&#xff01;&#x1f389; 在這里&#xff0c;我將與大家分享關于UniApp開發的實用技巧、最佳實踐和項目經驗。 專欄特色&#xff1a; &#x1f4f1; 跨平臺開發一站式解決方案 &#x1f680; 從入門到精通的完整學習路徑 &#x1f4a1; 實戰項目經…

7.22總結mstp,vrrp

一、MSTP技術&#xfeff;&#xfeff;MSTI和MSTI域根&#xfeff;&#xfeff;MSTP中的端口角色3. MSTP工作原理 MSTP 計算方法? CST/IST的計算和RSTP類似 ? MSTI的計算僅限于區域內 ? MSTI計算參數包含在IST BPDU中&#xff0c;和IST的計 算同步完成&#xfeff;&#xfe…

【電腦】網卡的基礎知識

網卡&#xff08;Network Interface Card, NIC&#xff09;是計算機中用于連接網絡的關鍵組件之一&#xff0c;它負責管理和發送數據包到互聯網或其他局域網設備。下面是一些關于網卡的詳細知識&#xff1a;網卡的基本結構MAC地址&#xff1a;每個網卡都有一個唯一的物理地址&a…