C語言經典例題-9

1.簡單計算器

題目描述:

KK實現一個簡單計算器,實現兩個數的“加減乘除”運算,用戶從鍵盤輸入算式“操作數1運算符操作數2”,計算并輸出表達式的值,如果輸入的運算符號不包括在(+、-、*、/)范圍內,輸出“Invalidoperation!”。當運算符為除法運算,即“/”時。如果操作數2等于0.0,則輸出“Wrong!Division by zero!”

輸入描述:

多組輸入,一行,操作數1運算符操作數2(其中運算符號包括四種:+、-、*、/)。

輸出描述:

針對每組輸入,輸出為一行。如果操作數和運算符號均合法,則輸出一個表達式,操作數1運算符操作數2=運算結果,各數小數點后均保留4位,數和符號之間沒有空格。如果輸入的運算符號不包括在(+、-、*、/)范圍內,輸出“Invalid operation!”。當運算符為除法運算,即“/”時。如果操作數2等于0.0,則輸出“Wrong!Division by zero!”。

輸入:

1.0+3.0

1.0;4.0

44.0/0.0

輸出:

1.0000+3.0000=4.0000

Invalid operation!

Wrong!Division by zero!

參考代碼:

#include <stdio.h>int main()
{double x1 = 0;double x2 = 0;char ch = 0;while (scanf("%lf%c%lf", &x1, &ch, &x2) != EOF){switch (ch){case '+':printf("%.4lf%c%.4lf=%.4lf\n", x1, ch, x2, x1+x2);break;case '-':printf("%.4lf%c%.4lf=%.4lf\n", x1, ch, x2, x1- x2);break;case '*':printf("%.4lf%c%.4lf=%.4lf\n", x1, ch, x2, x1 * x2);break;case '/':if (x2 == 0.0){printf("Wrong!Division by zero!\n");break;}printf("%.4lf%c%.4lf=%.4lf\n", x1, ch, x2, x1 / x2);break;default:printf("Invalid operation!\n");break;}}return 0;
}
2.獲得月份天數

題目描述:

KK想獲得某年某月有多少天,請幫他編程實現。輸入年份和月份,計算這一年這個月有多少天。

輸入描述:

多組輸入,一行有兩個整數,分別表示年份和月份,用空格分隔。

輸出描述:

針對每組輸入,輸出為一行,一個整數,表示這一年這個月有多少天。

輸入:

2008 2

輸出:

29

參考代碼:

#include <stdio.h>int main()
{int year = 0;int month = 0;int days[12] = { 31,28,31,30,31,30,31,31,30,31,30,31};while (scanf("%d %d", &year, &month) != EOF){int day = days[month - 1];if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0){if (month == 2){day += 1;}}printf("%d\n", day);}return 0;
}
3.HTTP狀態碼

題目描述:

KK訪問網站,得到HTTP狀態碼,但他不知道什么含義,BoBo老師告訴他常見HTTP狀態碼:

200(OK,請求已成功),202(Accepted,服務器已接受請求,但尚未處理。)400(Bad

Request,請求參數有誤),403(Forbidden,被禁止),404(Not Found,請求失敗),

500(Internal Server Error,服務器內部錯誤),502(Bad Gateway,錯誤網關)。

輸入描述:

多組輸入,一行,一個整數(100~600),表示HTTP狀態碼。

輸出描述:

針對每組輸入的HTTP狀態,輸出該狀態碼對應的含義,具體對應如下:

200-OK

202-Accepted

400-Bad Request

403-Forbidden

404-Not Found

500-Internal Server Error

502-Bad Gateway

輸入:

200

輸出:

OK

參考代碼:

#include <stdio.h>int main()
{int n = 0;while (scanf("%d", &n) != EOF){switch (n){case 200:printf("OK\n");break;case 202:printf("Accepted\n");break;case 400:printf("Bad Request\n");break;case 403:printf("Forbidden\n");break;case 404:printf("Not Found\n");break;case 500:printf("Internal Server Error\n");break;case 502:printf("Bad Gateway\n");break;default:break;}}
}
4.?圖像相似度

題目描述:

給出兩幅相同大小的黑白圖像(用0-1矩陣)表示,求它們的相似度。若兩幅圖像在相同位置上的像素

點顏色相同,則稱它們在該位置具有相同的像素點。兩幅圖像的相似度定義為相同像素點數占總像素點數的百分比。

輸入描述:

第一行包含兩個整數m和n,表示圖像的行數和列數,用單個空格隔開。1≤m≤100, 1≤n≤100。之后m行,每行n個整數0或1,表示第一幅黑白圖像上各像素點的顏色,相鄰兩個數用單個空格隔開。之后m行,每行n個整數0或1,表示第二幅黑白圖像上各像素點的顏色,相鄰兩個數用單個空格隔開。

輸出描述:

一個實數,表示相似度(以百分比的形式給出),精確到小數點后兩位。

輸入:

3 3
1 0 1
0 0 1
1 1 0
1 1 0
0 0 1
0 0 1  

輸出:

44.44

參考代碼:

#include <stdio.h>int main()
{int m = 0;int n = 0;int a[100][100] = { 0 };int b[100][100] = { 0 };float count = 0.0;int i = 0;int j = 0;scanf("%d %d", &m, &n);for (i = 0; i < m; i++){for (j = 0; j < n; j++){scanf("%d", &a[i][j]);}}for (i = 0; i < m; i++){for (j = 0; j < n; j++){scanf("%d", &b[i][j]);}}for (i = 0; i < m; i++){for (j = 0; j < n; j++){if (a[i][j] == b[i][j]){count++;}}}printf("%.2f\n", 100.0 * count / (m*n));return 0;
}
5.有序序列插入一個數

題目描述:

有一個有序數字序列,從小到大排序,將一個新輸入的數插入到序列中,保證插入新數后,序列仍然是升序。

輸入描述:

第一行輸入一個整數(0≤N≤50)。第二行輸入N個升序排列的整數,輸入用空格分隔的N個整數。第三行輸入想要進行插入的一個整數。

輸出描述:

輸出為一行,N+1個有序排列的整數。

輸入:

5

1 6 9 22 30

8

輸出:

1 6 8 9 22 30

參考代碼:

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

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

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

相關文章

Navicat Premium安裝pojie版

下載、安裝mysql&#xff0c;環境變量配置 1、官網下載mysql&#xff1a;https://www.mysql.com/downloads/ 下載成功&#xff0c;進行安裝 一直點下一步 驗證&#xff0c;開始中搜索mysql 說明安裝成功 環境變量配置 默認安裝路徑C:\Program Files\MySQL …

向量檢索和關鍵字檢索的區別?

向量檢索&#xff08;Vector Retrieval&#xff09;和關鍵字檢索&#xff08;Keyword Retrieval&#xff09;是信息檢索領域中常見的兩種檢索方法&#xff0c;它們有一些顯著的區別&#xff1a; 1、檢索方式&#xff1a; 向量檢索&#xff1a;向量檢索是基于文檔和查詢之間的相…

Kafka和Spark Streaming的組合使用學習筆記(Spark 3.5.1)

一、安裝Kafka 1.執行以下命令完成Kafka的安裝&#xff1a; cd ~ //默認壓縮包放在根目錄 sudo tar -zxf kafka_2.12-2.6.0.tgz -C /usr/local cd /usr/local sudo mv kafka_2.12-2.6.0 kafka-2.6.0 sudo chown -R qiangzi ./kafka-2.6.0 二、啟動Kafaka 1.首先需要啟動K…

計算機畢業設計Python地震預測系統 地震數據分析可視化 地震爬蟲 大數據畢業設計 Flink Hadoop 深度學習 機器學習 人工智能 知識圖譜

學生信息 姓名&#xff1a;  祁浩 題目&#xff1a; 基于Python的中國地震數據分析與可視化系統的設計與實現 學號&#xff1a; 2020135211 班級&#xff1a; 20大數據本科2班 指導教師&#xff1a; 劉思思 答辯過程 學生開題陳述 為了讓學習者更好的了解了解地震…

Coze扣子開發指南:AI零代碼編程創建插件

在Coze扣子中創建插件&#xff0c;有兩種方式&#xff0c;一是用API&#xff0c;具體方式參照上一篇文章《Coze扣子開發指南&#xff1a;用免費API自己創建插件》&#xff0c;還有一種方式就是編程&#xff0c;不過有了AI的幫助&#xff0c;即使不會編程的人&#xff0c;也可以…

HarmonyOS開發案例:【生活健康app之獲取成就】(3)

獲取成就 本節將介紹成就頁面。 功能概述 成就頁面展示用戶可以獲取的所有勛章&#xff0c;當用戶滿足一定的條件時&#xff0c;將點亮本頁面對應的勛章&#xff0c;沒有得到的成就勛章處于熄滅狀態。共有六種勛章&#xff0c;當用戶連續完成任務打卡3天、7天、30天、50天、…

用大于meilisearch-java-0.7.0.jar的報錯的解決

Elasticsearch 做為老牌搜索引擎&#xff0c;功能基本滿足&#xff0c;但復雜&#xff0c;重量級&#xff0c;適合大數據量。 MeiliSearch 設計目標針對數據在 500GB 左右的搜索需求&#xff0c;極快&#xff0c;單文件&#xff0c;超輕量。 所以&#xff0c;對于中小型項目來說…

阿里云服務器在線安裝nginx

??個人主頁: 蒾酒 &#x1f525;系列專欄&#xff1a;《nginx實戰》 目錄 內容簡介 安裝步驟 1.root用戶登錄連接阿里云服務器 2.在usr/local下新建nginx目錄 3.安裝 1安裝下載工具 2下載nginx壓縮包 3解壓 4安裝nginx依賴的庫 5編譯并安裝 6啟動nginx 7開啟…

藍橋杯-遞增三元組(三種解法,二分, 雙指針, 前綴和)

給定三個整數數組 A[A1,A2,…AN], B[B1,B2,…BN], C[C1,C2,…CN], 請你統計有多少個三元組 (i,j,k) 滿足&#xff1a; 1≤i,j,k≤N Ai<Bj<Ck 輸入格式 第一行包含一個整數 N。 第二行包含 N 個整數 A1,A2,…AN。 第三行包含 N 個整數 B1,B2,…BN。 第四行包含 N …

【圖像畸變校正】

接上篇文章&#xff1a;【魚眼&#xff0b;普通相機】相機標定 附代碼&#xff1a; 方法一&#xff1a; 使用cv2.undistort """Create May 11, 2024author Wang Jiajun """import cv2 import numpy as npdef correct(img,camera_fileE:/cali…

怎么使用遠程桌面傳輸文件?

微軟提供的遠程桌面功能是一項強大的工具&#xff0c;可讓您在同一網絡下遠程訪問和管理其他計算機。除了遠程控制&#xff0c;它還支持文件傳輸功能&#xff0c;為Windows用戶提供了極大的便利。在接下來的內容中&#xff0c;我們將介紹如何使用遠程桌面傳輸文件。 如何從遠程…

PADS:生成自交叉平面區域

根據板外形鋪銅方法&#xff1a; pads根據板外形鋪銅_鋪銅如何根據板子形狀改變-CSDN博客 根據板外形創建平面區域出現問題&#xff1a; 解決方法&#xff1a;去找結構&#xff0c;讓他把出圖之前把線合并了

【數據結構】順序棧

順序棧 一、相關概念 棧和隊列是操作受限的線性表&#xff0c;是限定性的數據結構&#xff1b;棧分為順序棧和鏈式棧棧只能在一端進行操作&#xff08;插入、刪除&#xff09;棧是限定僅在表尾進行插入或刪除操作的線性表&#xff0c;因此&#xff0c;對棧來說&#xff0c;表…

https免費證書獲取

獲取免費證書的網址&#xff1a; Certbot 1. 進入你的linux系統&#xff0c;先安裝snapd&#xff0c; yum install snapd 2. 啟動snapd service snapd start 3.安裝 Certbot snap install --classic certbot 注意如下出現此錯誤時&#xff0c;需要先建立snap 軟連接后&am…

山東大學軟件學院創新項目實訓開發日志——第11周

山東大學軟件學院創新項目實訓開發日志——第11周 項目名稱&#xff1a;ModuFusion Visionary&#xff1a;實現跨模態文本與視覺的相關推薦 -------項目目標&#xff1a; 本項目旨在開發一款跨模態交互式應用&#xff0c;用戶可以上傳圖片或視頻&#xff0c;并使用文本、點、…

Golang | Leetcode Golang題解之第84題柱狀圖中最大的矩形

題目&#xff1a; 題解&#xff1a; func largestRectangleArea(heights []int) int {n : len(heights)left, right : make([]int, n), make([]int, n)for i : 0; i < n; i {right[i] n}mono_stack : []int{}for i : 0; i < n; i {for len(mono_stack) > 0 &&am…

SQLite索引名稱重復(index already exists)

文章目錄 概述報錯信息解決方案 概述 SQLite中創建單列索引的方式&#xff0c;跟MySQL類似&#xff1a; CREATE INDEX index_name ON table_name (column_name);但是也有不同的地方&#xff1a; MySQL中索引名稱在表內部不重復即可。 SQLite中索引名稱在整個庫中必須是不重復…

整理項目中經常用到的正則

目錄 1、手機號碼 2、Email 郵箱 3、QQ 號碼 4、非零正整數 5、URL 地址 6、身份證號 項目中難免會經常使用到表單&#xff0c;而表單項校驗就需要用到正則&#xff0c; 所以整理總結一下自己項目中使用比較頻繁的一些正則校驗邏輯。 正則表達式 是由一些具有特殊含義的…

JavaScript之數據類型(3)——object進階

前言&#xff1a; 利用基礎知識來構建對象會發現十分復雜&#xff0c;我們可以結合其他的知識點來為我們object的構建進行優化。 <1>工廠法&#xff1a; 基本格式&#xff1a; function creatObject(屬性值1,屬性值2,屬性值3,...,屬性值n) {var 對象名 new Object();對…

在IDEA中使用 Spring Initializr 新建 spring boots 項目

【在IDEA中使用 Spring Initializr 新建 spring boots 項目 - CSDN Apphttp://t.csdnimg.cn/mVs5P Spring Initializr 創建spring boots項目 添加到pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connec…