5 順序程式設計舉例以及scanf輸入函式用法說明

2021-10-21 20:50:47 字數 2288 閱讀 6868

在4中說到了乙個c程式設計,求5!

傳送 求5!

該題在藍皮書第十九頁,自行複習!

一、進入正題:

例題:有人用溫度計測量出用華氏法表示的溫度(如64°f),今要求把它轉化為以攝氏法表示的溫度(如17.8°c);

解題思路:這個問題的演算法較簡單,關鍵在於找到兩者之間的公式,來用攝氏法表示華氏法,根據物理學知識可知其轉換公式為c=(5/9)*(f-32);

整個程式設計的流程就是:

①輸入f的值64;(用f表示華氏溫度)

②執行這個公式;

③輸出c的值。(用c表示攝氏溫度)

編寫程式:

複習一下,c程式的執行步驟?

(編輯源程式)、編譯、連線、執行

執行結果:

程式分析:

本程式出現了浮點型資料,因此用float來定義f\c,然後按照下圖流程來寫程式:

%f代表以小數形式輸出單精度數(float)、雙精度數(double),隱含輸出6位小數,如上面的執行輸出圖,小數點後面有六位小數。

另外一篇部落格使用scanf輸入函式寫的該程式;

這是個鏈結

二、scanf輸入函式

形式:

scanf(格式控制,位址列表)

位址運算子&

舉例:例如我要在螢幕上輸入整型資料a和實型資料b;

寫法:

scanf(「%d %f」,&a,&b);

scanf(「%d %f」,a,b);這樣寫就不正確,是非法的

在輸入資料時要注意對應的位置;例如:

scanf(「a=%d,b=%d,c=%d」,&a,&b,&c);

具體**如下:

#include

intmain()

執行之後,螢幕會讓你輸入資料

輸入資料時scanf中的普通字元都要原樣輸入,例如:

該題目錯誤寫法1:(只輸入了1.2.3)

該題目錯誤寫法2:(不帶標點符號)

正確寫法:輸入資料時scanf中的普通字元都要原樣輸入

#include

intmain()

執行時:

輸入123按回車鍵沒有反應,系統把123當做了a:

繼續輸入,當三個數輸完才會有結果:

如果我們在輸入時給他加上空格作為間隔,看圖:

但是在輸入字元資料時不能加空格作為間隔,例如:

#include

intmain()

如果加了空格作為間隔,則會把h賦值給a,h後面的空格賦值給b,y賦值給c,看圖:

直接輸入hyh,才能正確顯示:

猜想:如果輸入hanyanhong會怎樣?

沒錯,只會讀取前三個字元,賦給abc;

over!

順序表應用舉例

例一 將順序表la a1,a2,a3,an 逆置。解 要想將la逆置,只需要將第乙個元素與最後乙個交換,第二個和倒數第二個交換,以此類推,直到沒有元素發生交換。演算法描述如下 void contrary sq sqlist la 例二 設順序表la中的元素遞增有序。試編寫演算法,將x插入到順序表的適...

linux命令執行順序,以及shell程式設計

按順序執行用 ls date同乙個命令列併發執行 ls date只有前一條命令執行完,才執行下一條命令 is a.txt rn a.txt執行前一條命令,如果錯誤,執行下一條 is a.txt mkdir a.txt bin sh echo hello world,today is echo dat...

linux socket程式設計(udev舉例)

union sockaddr union 通常的套介面位址 struct sockaddr unix本地通訊套介面位址 struct sockaddr un netlink的套介面位址 struct sockaddr nl socket程式設計介面 socket udev device new fr...