C語言博客作業--數據類型

題目1:7-4 打印菱形圖案

1. 本題PTA提交列表

1231973-20171126000646296-795696992.png

2. 設計思路

1.定義變量i,j,k,n;且聲明i為要打印的行數,j是控制輸出打印空格和星星,n是菱形為菱形的高
2.輸入n
3.i=1,j=1
4.先打印上半部分,第一行到n/2+1行,輸出空格個數為n-2i+1,輸出的個數為2i-1換行,i++
5.i=n/2,i--
6.打印下半部分,第n/2+2行到第n行,輸出的空格個數為n+1-2
i,輸出的個數為2i-1換行,j++

3.代碼截圖

1231973-20171126000831093-192113765.png

4.本題調試過程碰到問題及PTA提交列表情況說明。
剛開始的時候沒有想到說可以分析菱形的上下部分來控制輸出,所以寫出了以下的代碼
1231973-20171126004539500-1339239734.png
發現輸出的空格都沒有實現,后來改用老師的方法,先輸出上半部分,再輸出 下半部分
1231973-20171126005826875-1048850839.png
前面的空格公式錯誤,導致輸出錯誤,后來重新推導出正確的公式后,輸出正確

題目2:7-7 發紅包

1. 本題PTA提交列表

1231973-20171126010334187-512712764.png

2. 設計思路

1.定義數組 a[7]={100,50,20,10,5,2,1}存放紙幣類型
2.定義數組b[7]={0}存放各類型紙幣的張數
3.定義整型變量 i,n;
4.scanf("%d",&n);
5.for(i=0;i<7;i++){//i從0開始,循環七次
b[i]=n/a[i];//張數等于總金額除以紙幣大小
n=n-a[i]*b[i];
6.printf("%3d元:%3d張\n",a[i],b[i]);
7.結束算法

3.代碼截圖

1231973-20171126025310015-1710588096.png

4.本題調試過程碰到問題及PTA提交列表情況說明。

剛開始的時候以為這題和以前做得換硬幣的題目相似,故寫了以下代碼
1231973-20171126011442156-915059273.png
輸不出結果,并且過程太過繁瑣,所以想到調用數組
1231973-20171126011847609-730301120.png
發現可以輸出,但是沒有右對齊,后來在網上查了資料,-%d表示左對齊,%d表示右對齊,但是提交后還是編譯錯誤,仔細閱讀題目后發現是要求個位數對齊,于是改為%3d,輸出正確

題目三:

1. 本題PTA提交列表

1231973-20171126140523046-1817460604.png

2. 設計思路

定義函數 arithmetic( int value )
.主函數部分:1.定義第一個操作數 value1
2.輸入這個操作數
3.調用函數求表達式的解
函數部分:1./定義第二個操作數value2,flag=1/flag用于判斷是否為非法標識符以及除數為0的情況,
2.定義字符變量op
3.輸入第二個操作數,字符
4.判斷輸入的字符是否為合法標識符
5.若輸入的字符為=,則結束算法
6.若字符為+,則value1=value1+value2
7.若字符為-,則value1=value1-value2
8.若字符為,則value1=value1value2
9.若字符為/,且value2不等于0,則value1=value1/value2;若value2等于0,則flag=0
10.重復步驟3-9.直到不滿足條件
11.判斷flag的值,若flag=0,輸出ERROR,否則輸出value1
12.返回value1
13.結束算法

3.代碼截圖

1231973-20171126140411796-1334521322.png
1231973-20171126140446375-1807901096.png

4.本題調試過程碰到問題及PTA提交列表情況說明

想的太過簡單,思路還停留在題目四則運算的階段,而題目要求的是先輸入一個表達式
1231973-20171126135542859-254723745.png
后來問了同學,可以調用函數來解決,可是提交后還是錯誤,后來發現在判斷字符時忘了加“=”,
1231973-20171126122739828-839713577.png
改過之后提交卻還是部分正確,
1231973-20171126122749375-283125153.png

二、截圖本周題目集的PTA最后排名。

1231973-20171126151229343-1431717010.png

三、本周學習總結(3分)

1.你學會了什么?

1.1 一維數組如何定義、初始化?

一維數組定義的一般形式為:
類型名 數組名 [數組長度];
一維數組的初始化和簡單變量的初始化一樣,在定義數組時,也可以對數組元素賦初值,其一般形式為:
類型名 數組名 [數組長度] = {初值表},初值表中依次放著數組元素的初值

1.2 一維數組在內存中結構?可畫圖說明。數組名表示什么?

在定義數組之后,系統根據數組中元素的類型及個數在內存中分配了一段連續的存儲單元用于存放數組中的各個元素,并對這些單元進行連續編號,即下標,以區分不同的單元,每個單元所需的字節數有數組定義時給定的類型來確定;數組名表示該數組中第一個單元的地址,即首地址

1.3 為什么用數組?

在程序中使用數組,可以讓一批相同類型的變量使用同一個數組變量名,用下標來相互區分。它的優點是表達簡潔,可讀性好,便于使用循環

1.4 介紹選擇法、冒泡法、直接插入排序如何排序?偽代碼展示.

1231973-20171126133644281-700577687.png

1.5 介紹什么是二分查找法?它和順序查找法區別?

二分查找(又稱為折半查找)是在有序序列中查找比較多的查找算法,基本思路:設有一個從小到大的序列,取中間的元素m進行比較,如果等于需要查找的元素x則返回元素m的下標,若x大于m則再從右邊的區間查找,若x小于m則再從左邊的區間查找,這樣每次減少一半的查找范圍。時間復雜度為O(lgn),查找速度相對順序查找要快很多,但是查找的數據序列必須是有序序列(即數據是從小到大或從大到小排序的)。
區別:二分法是折半查找,而順序查找則是歷便數組的查找,對于數據較多時,二分法查找的效率更高

1.6 二維數組如何定義、初始化?

二維數組的定義形式為:
類型名 數組名 [行長度] [列長度]
二維數組的初始化方法有兩種:
1.分行賦初值
類型名 數組名 [行長度] [列長度] = { {初值表0},...,{初值表k},...};把初值表k中的數據依次賦值給第k行的元素

1.7 矩陣轉置怎么實現?方陣中:下三角、上三角、對稱矩陣的行標i列標j的關系?請說明。

行列互換;方陣中下三角:i>=j
上三角:i<=j
對稱矩陣:i=j

1.8 二維數組一般應用在哪里?

用來表示一個二維表中按行,列組織在一起的信息。為了唯一確定二維表中的一個元素,必須給出兩個下標。按照習慣,第一個下標確定的是元素所在的行號,第二個列標確定元素所在的列號

2.本周的內容,你還不會什么?

對于數組的使用還不是很熟悉,還有二維數組還不是很理解,各個進制之間的轉化還不是靈活的運用;
對于冒泡排序,選擇排序還不是很理解
課堂派上的題目
1231973-20171126130030828-659320239.png
1231973-20171126130128671-202392932.png

轉載于:https://www.cnblogs.com/2223ch/p/7897832.html

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

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

相關文章

信息隱藏將txt文件合并到jpg文件中_使用Kali Linux在圖像內隱藏機密消息—可在任何Linux發行版使用

歡迎回到“Esn技術社區”&#xff01;今天&#xff0c;我們將演示如何使用Steghide(一種可在Kali Linux上使用的流行隱寫工具)在圖像內隱藏消息。在計算機科學中&#xff0c;將信息隱藏在文件內(例如圖像&#xff0c;文檔&#xff0c;程序&#xff0c;有用數據&#xff0c;消息…

Spring 3.1,Cloud Foundry和本地開發

這篇文章將幫助您在Cloud Foundry上使用MongoDB構建Spring 3.1 Web應用程序。 除了推動Cloud Foundry之外&#xff0c;您還可以使用MongoDB實例在本地環境中進行開發。 目標 此博客發布的目標是在本地構建應用程序&#xff0c;然后發布到本地Cloud Foundry實例。 我們將利用C…

Spring MVC 簡述:從MVC框架普遍關注的問題說起

任何一個完備的MVC框架都需要解決Web開發過程中的一些共性的問題&#xff0c;比如請求的收集與分發、數據前后臺流轉與轉換&#xff0c;當前最流行的SpringMVC和Struts2也不例外。本文首先概述MVC模式的分層思想與MVC框架普遍關注的問題&#xff0c;并以此為契機結合SpringMVC的…

java方法調用機制_Java方法調用機制 - osc_bkdv2it5的個人空間 - OSCHINA - 中文開源技術交流社區...

最近在編程時&#xff0c;修改方法傳入對象的對象引用&#xff0c;并沒有將修改反映到調用方法中。奇怪為什么結果沒有變化&#xff0c;原因是遺忘了Java對象引用和內存分配機制。本文介紹3個點&#xff1a;① 該問題舉例說明② 簡要闡述Java內存區域③ 介紹JVM中方法調用的機制…

CSS染色圖標(圖片)

之前一直以為用background引入的圖標無法染色&#xff08;非字體圖標&#xff09;&#xff0c;現在才知道有黑科技可以用&#xff0c;就是利用drop-shadow。 代碼示例 <!DOCTYPE html> <html> <head lang"en"><meta charset"UTF-8"&…

eclipse安裝java web插件

1 查看eclipse版本 找到eclipse的安裝目錄&#xff0c;找到readme文件&#xff0c;打開其中的html文件&#xff0c;我的是4.6版本的,代號是oxygen 2 安裝 打開eclipse,點擊help-Install new software-單擊add&#xff0c;在彈出窗口中輸入網址&#xff1a; http://download.ecl…

python正則表達式指南_Python正則表達式指南

1. 正則表達式基礎1.1. 簡單介紹正則表達式并不是Python的一部分。正則表達式是用于處理字符串的強大工具&#xff0c;擁有自己獨特的語法以及一個獨立的處理引擎&#xff0c;效率上可能不如str自帶的方法&#xff0c;但功能十分強大。得益于這一點&#xff0c;在提供了正則表達…

Google Guava EventBus用于事件編程

在任何軟件應用程序中都是如此&#xff0c;有些對象需要共享信息才能完成工作。 在Java應用程序中&#xff0c;實現信息共享的一種方法是擁有事件偵聽器&#xff0c;其唯一目的是在發生所需事件時采取某些措施。 在大多數情況下&#xff0c;此過程有效&#xff0c;并且最有經驗…

system類

package system.cn; /** system類的方法 都是靜態方法&#xff0c;可以直接用類名直接調用* 常用的方法&#xff1a;* static long currentTimeMillis() 返回以毫秒為單位的當前時間。 static void exit(int status) 終止當前正在運行的 Java 虛擬機。 static void gc…

c await和java_blog/java/test/awaitility.zh.md at master · c-rainstorm/blog · GitHub

javaAtomicInteger atomic new AtomicInteger(0);// Do some async stuff that eventually updates the atomic integerawait().untilAtomic(atomic, equalTo(1));等待一個 AtomicBoolean 更簡單&#xff1a;javaAtomicBoolean atomic new AtomicBoolean(false);// Do some a…

實現輸入框小數多 自動進位展示,編輯時實際值不變

今天遇到個業務需求&#xff0c;要求輸入框&#xff0c;輸入數字的小數位數可以很多位&#xff0c;但移開后顯示&#xff0c;只顯示小數點后兩位 &#xff08;四舍五入&#xff09;&#xff0c;當要編輯的時候&#xff0c;展現其原來的輸入數據。 閑話不多說&#xff0c;當時也…

使用Jasper Reports以Java創建報告

上周&#xff0c;我試圖使用Jasper創建報告。 在這篇文章中&#xff0c;我將記錄一些資源和鏈接&#xff0c;以便對任何尋求類似信息的人都有用。 我將介紹Jasper報告&#xff0c;示例和Dynamic Jasper的生命周期。 Jasper Reports是世界上最受歡迎的開源報告引擎。 它完全用…

CentOS7 安裝NodeJS

一、切換目錄到/usr/local/src 命令行&#xff1a;cd /usr/local/src 二、下載node.js&#xff08;我這里下載的是二進制的源碼&#xff09; 命令行&#xff1a; wget https://nodejs.org/dist/v8.9.1/node-v8.9.1-linux-x64.tar.xz 圖片&#xff1a; 三、解壓壓縮包 命令行&am…

CSS3基礎2(變形與動畫)

<!DOCTYPE html5><html lang"en"><head> <meta charset"UTF-8"> <title>CSS3基礎知識&#xff08;動畫&#xff09;</title> <style> /*div{*/ /*width: 150px;*/ /*hei…

java對hashmap迭代_Java:通過HashMap迭代,這樣更有效率?

第二個選項肯定更有效&#xff0c;因為在第一個選項中只進行一次查找&#xff0c;次數為n次。但是&#xff0c;沒有什么比嘗試它更好&#xff0c;當你可以。所以這里 –(不完美&#xff0c;但足夠好驗證假設和我的機器)public static void main(String args[]) {Map map new H…

html-edm(郵件營銷)編寫規則

最近寫了一個edm郵件 以前沒有接觸過 使用的是很老的html頁面編寫規則 只能用table標簽 在此記錄一下edm編寫的一些規則 個人參考的是這兩個網址&#xff0c;轉載一下 http://www.zcool.com.cn/article/ZMTM5MDgw.html https://www.cnblogs.com/lhweb15/p/6404626.html …

ASP.NET Core2.0 環境下MVC模式的支付寶PC網站支付接口-沙箱環境開發測試

1.新建.NET Core web項目 2.Controllers-Models-Views 分三個大部分 3.下載安裝最新sdk 官方的SDK以及Demo都還是.NET Framework的&#xff0c;根據官方文檔說明新建網站后還是需要引用官方SDK的源碼&#xff0c; 在這里直接使用網上一位朋友的用.NET Standard 2.0 進行實現了支…

如何在redhat8里使用gcc命令_如何使用who命令檢查用戶登錄信息

請關注本頭條號&#xff0c;每天堅持更新原創干貨技術文章。如需學習視頻&#xff0c;請在微信搜索公眾號“智傳網優”直接開始自助視頻學習1. 前言本教程主要介紹如何使用who命令檢查用戶登錄信息。如何使用who命令檢查用戶登錄信息Linux中的who命令列出了系統上的所有登錄用戶…

研究僵局–第4部分:修復代碼

在這個簡短的博客系列的最后BadTransferOperation中&#xff0c;我一直在討論分析死鎖&#xff0c;我將修復BadTransferOperation代碼。 如果您看過本系列的其他博客 &#xff0c;那么您將知道&#xff0c;為了達到這一點&#xff0c;我創建了死鎖的演示代碼&#xff0c;展示了…

chrome插件2

轉自&#xff1a;http://www.codeceo.com/article/15-chrome-extension.html 1. Web Developer 支持Chrome的Web Developer擴展&#xff0c;允許你通過添加一個小工具欄來使用不同的工具。 官方網站&#xff1a;https://chrome.google.com/webstore/detail/web-developer/bfbam…