day03_3_流程式控制制練習題

来源:https://www.cnblogs.com/psjj/archive/2022/07/18/16492337.html
-Advertisement-
Play Games

# 流程式控制制練習題 # 一、編程題 1、實現一個課程名稱和課程代號的轉換器:輸入下表中的課程代號,輸出課程的名稱。用戶可以迴圈進行輸入,如果輸入0就退出系統。(**使用****switch +while****迴圈實現**) **課程名稱和課程代號對照表** | **課程名稱** | **課程代碼* ...


# 流程式控制制練習題

# 一、編程題

1、實現一個課程名稱和課程代號的轉換器:輸入下表中的課程代號,輸出課程的名稱。用戶可以迴圈進行輸入,如果輸入0就退出系統。(**使用****switch +while****迴圈實現**)

**課程名稱和課程代號對照表**

| **課程名稱** | **課程代碼** |
| ---------------------------- | ------------ |
| 使用Java語言理解程式邏輯 | **1** |
| 使用HTML語言開發商業站點 | **2** |
| 使用SQL Server管理和查詢數據 | **3** |
| 使用C#開發資料庫應用程式 | **4** |

~~~java
public class Demo1 {
public static void main(String[] args) {
//1.創建掃描儀對象
Scanner input = new Scanner(System.in);
//2.迴圈讓客戶輸入課程編號
tag:while(true){
//3.接收客戶輸入的課程代號
System.out.println("請輸入課程代號:");
int number = input.nextInt();
switch (number){
case 1 :
System.out.println("使用Java語言理解程式邏輯");
break;
case 2 :
System.out.println("使用HTML語言開發商業站點");
break;
case 3 :
System.out.println("使用SQL Server管理和查詢數據");
break;
case 4 :
System.out.println("使用C#開發資料庫應用程式");
break;
case 0 :
break tag;
}
}
}
}
~~~

 

2、本金10000元存入銀行,年利率是千分之三。每過1年,將本金和利息相加作為新的本金。計算5年後,獲得的本金是多少?(**使用for迴圈實現**)

~~~Java
public class Demo2 {
public static void main(String[] args) {
double benJin = 10000;
for(int i=1;i<=5;i++){
benJin=benJin+benJin*0.003;
}
System.out.println(benJin);
}
}
~~~

 

3、求整數1~100的累加值,但要求跳過所有個位為3的數。(**使用for迴圈實現**)

~~~Java
/**
* 3、求整數1~100的累加值,但要求跳過所有個位為3的數。(使用for迴圈實現)
*/
public class Demo3 {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <=100 ; i++) {
if(i%10==3){
continue;
}
sum+=i;
}
System.out.println(sum);
}
}
~~~

 

4、輸入一個正整數N,判斷該數是不是質數,如果是質數輸出“N是一個質數”,否則輸出“N不是質數”。提示:質數的含義:除了1和它本身不能被任何數整除。(**使用for迴圈實現**)

~~~java
public class Demo4 {
public static void main(String[] args) {
//1.創建掃描儀對象
Scanner scanner = new Scanner(System.in);
while (true) {
//2.請輸入一個正整數
System.out.println("請輸入一個正整數");
int number = scanner.nextInt();
if(number==1){
System.out.println(number+"不是質數");
} else if(number==2){
System.out.println(number+"是質數");
} else {
//預設number是質數
boolean tag = true;
//將number 除以2到number之間的數,不包含number如果有一次整除,那麼number不是質數
for(int i=2;i<number;i++){
if(number%i==0){
tag=false;
}
}
if(tag){
System.out.println(number+"是質數");
} else {
System.out.println(number+"不是質數");
}
}
}

}
}
~~~

 

5、輸入一個正整數,將該數的各位左右反轉輸出,即輸入123,輸出321。(**使用while迴圈實現**)

~~~Java
public class Demo5 {
public static void main(String[] args) {
//創建掃描儀對象
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入一個正整數");
int number = scanner.nextInt();
// 反轉數字
while(number>0){
int a = number%10;
System.out.print(a);
number = number/10;
}
}
}
~~~

 

6、列印出100~999之間的所有“水仙花數”。所謂“水仙花數”,是指一個3位數,其各位數字立方和等於該數本身。例如:153是一個“水仙花數”,因為153=13+53+33。

~~~java
public class Demo6 {
public static void main(String[] args) {
for (int i = 100; i <=999 ; i++) {
int bai = i/100;
int shi = i/10%10;
int ge = i%10;
if(i==bai*bai*bai+shi*shi*shi+ge*ge*ge){
System.out.println(i+"是一個水仙花數");
}
}
}
}
~~~

 

7、幸運猜猜猜:游戲隨機給出一個0~99(包括0和99)的數字,然後讓你猜是什麼數字。你可以隨便猜一個數字,游戲會提示太大還是太小,從而縮小結果範圍。經過幾次猜測與提示後,最終推出答案。在游戲過程中,記錄你最終猜對時所需要的次數,游戲結束後公佈結果。

積分對照表

| **次數** | **結果** |
| -------- | -------------------------------------- |
| 1 | 你太有才了! |
| 2~6 | 這麼快就猜出來了,很聰明麽! |
| 大於7 | 猜了半天才猜出來,小同志,尚需努力啊! |

猜測次數最多20次。

提示:

(1) 產生0~99之間的隨機數字:

int number = (int)(Math.random()*100)

(2) 使用for迴圈結構,其中迴圈計數器counter同時也記錄你猜測的次數

(3) 計算積分可以使用switch結構

~~~java
public class Demo7 {
public static void main(String[] args) {
//創建掃描儀對象
Scanner input = new Scanner(System.in);
//獲得本次要猜的隨機數
int number = (int)(Math.random()*100);
System.out.println("number:"+number);
//猜數的計數器
int count = 0;
//記錄是否猜數成功
boolean tag = true;
while(true){
//接收客戶猜的數
System.out.println("猜猜看吧");
int n = input.nextInt();
//記錄猜數次數
count++;
//判斷猜數結果
if(n>number){
System.out.println("猜大了");
//設置條件最多猜20次
if(count==20){
tag = false;
break;
}
}else if(n<number){
System.out.println("猜小了");
//設置條件最多猜20次
if(count==20){
tag = false;
break;
}
} else {
System.out.println("猜對了");
//設置條件最多猜20次
if(count==20){
break;
}
break;
}

}
if(tag){
switch (count){
case 1 :
System.out.println("你太有才了!");
break;
case 2 :
case 3 :
case 4 :
case 5 :
case 6 :
System.out.println("這麼快就猜出來了,很聰明麽!");
break;
default :
System.out.println("猜了半天才猜出來,小同志,尚需努力啊!");
break;
}
}
}
}
~~~

 

# 二、簡答題

1、請簡述continue和break的區別;

2、switch結構可以傳入哪些參數類型;

3、if和switch結構的區別;

4、while和dowhile的區別;

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • MVVM模型 M:模型(Model) :對應 data 中的數據 V:視圖(View) :模板(理解為html頁面) VM:視圖模型(ViewModel) : Vue 實例對象 數據驅動視圖: 如上圖所示ViewModel充當著監控者的角色,監控到了mode數據發生變化,便會通知view試圖進行更新 ...
  • HTML基礎學習 ##前言 HTML基礎學習會由HTML基礎標簽學習、HTML表單學習和一張思維導圖總結HTML基礎三篇文章構成,文章中博主會提取出重點常用的知識和經常出現的bug,提高學習的效率,後續會相繼上傳CSS和JavaScript的博客,歡迎大家一起學習,共同進步。 註:HTML基礎學習的 ...
  • 在 WeGame 的 PC 端官網首頁,有著非常多製作精良的基於滾動的動畫效果。 這裡我簡單截取其中 2 個比較有意思的轉場動畫,大家感受感受。轉場動畫 1: 轉場動畫 2: 是不是挺有意思的,整個動畫的銜接是基於滾輪的滾動觸發的。我猜測是使用了類似 TweenMaxJS 的動畫庫實現。 當然,這兩 ...
  • 前端周刊:2022-12 期 前端開發 Vue2.7 正式發佈! Vue3 的官方跳板 完成第一個 vue3.2 項目後,這是我的技術總結 Vue3 的響應式變數 API 設計的挺難用 Vue2 升級到 Vue3 到底是不是一個正確的選擇? 個人感覺 Vue3 是個失敗的版本 【前端面試題】—30 ...
  • 1、jQuery的基本用法 1.1 jQuery引入 <script src="js/jquery-3.4.1.min.js" type="text/javascript"></script> 1.2 第一個jQuery測試 <script src="js/jquery-3.4.1.min.js" ...
  • 對文檔樹中的節點們 可以用js進行增刪改查: 增: 1、創建元素:這個元素是不會渲染到頁面上的,它不在DOM中 傳入字元串(標簽的名字) var box=document.createElement("div") 2、添加到文檔樹中,x.appendChild(y) 把y節點對象添加到x節點中 bo ...
  • 巨集 #define命令是C語言中的一個巨集定義命令,它用來將一個標識符定義為一個字元串,該標識符被稱為巨集名,被定義的字元串稱為替換文本. 使用巨集時是簡單的代碼段替換. #define的概念 簡單的巨集定義 #define <巨集名> <字元串> 例: #define PI 3.1415926 註:使用簡單 ...
  • 源碼地址 https://gitee.com/bin-0821/chat-room-demo-go-websocket 關於websocket,上一篇文章講述瞭如何通過websocket進行服務端與客戶端的通信,本篇將會帶領大家把各個websocket進行相互通信,在開始之前,請確保有理解 1 go ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...