第三章 程序設(shè)計初步

第三章 程序設(shè)計初步

1.

2.計算圓的數(shù)據(jù)

設(shè)圓半徑r=1.5,圓柱高 h=3求圓周長圓面積圓球表面積圓球體積圓柱體積。
用 cin 輸人數(shù)據(jù),輸出計算結(jié)果,輸出時要求有文字說明,取小數(shù)點后兩位數(shù)字。請編程序唆貌。

#include <cmath>
#include <iostream>
#include <iomanip>

int main() {

    setlocale(LC_ALL, "zh_CN.UTF-8");

    int r = 1.5;
    int h = 3;

    int perimeter = 2 * M_PI * r;//計算周長
    int area = M_PI * pow(r, 2);//計算面積
    int ball_size = 4 * M_PI * pow(r, 2);//圓球表面積
    int ball_volume = 4 / 3 * M_PI * pow(r, 3);//圓球體積

    std::cout << std::setprecision(2) << "周長:" << perimeter << std::endl;
    std::cout << std::setprecision(2) << "面積:" << area << std::endl;
    std::cout << std::setprecision(2) << "圓球表面積:" << ball_size << std::endl;
    std::cout << std::setprecision(2) << "圓球體積:" << ball_volume << std::endl;
    return 0;
}

問題回饋

  • 設(shè)置小數(shù)點保留需要使用<iomanip>的std::setprecision
  • cout加上fixed可以固定保留小數(shù)位數(shù)
  • cmath提供了M_PI
  • pow是冪函數(shù), sqrt是根號

3. 華氏度與攝氏度

輸人一個華氏溫度,要求輸出攝氏溫度蜘腌。公式為c=一(F-32),輸出要有文字說明,取兩位小數(shù)

#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, char const *argv[]) {

    double temp;
    cout << "輸入華氏溫度:";
    cin >> temp;
    cout << endl << fixed << setprecision(2) << "攝氏溫度為:" << -(temp - 32.0) <<"C";
    return 0;
}

問題回饋

  • 沒什么問題

4.getchar與putchar

編程序用getchar 函數(shù)讀入兩個字符給 cl,c2然后分別用putchar 函數(shù)和cout 語句輸出這兩個字符。并思考以下問題:
(1)變量 cl,c2應(yīng)定義為字符型還是整型?抑或二者皆可?
(2)要求輸出cl和c2值的ASCII碼應(yīng)如何處理?

#include <iostream>
#include <iomanip>
#include <cmath>

using namespace std;

int main(int argc, char const *argv[]) {

    char c1 = getchar();
    int c2 = getchar();
    putchar(c1);
    putchar(c2);
    cout << endl;
    return 0;
}

問題回饋

  • 中間涉及到了一些關(guān)于char int的問題,實質(zhì)上getchar是可以int也可以char的。
  • 輸出c1,c2的ASCII碼需要使用cout << (int)c1

5. 理解 char 與 int 與 ascii

整型變量與字符變量是否在任何情況下都可以互相代替?
如char cl ,c2; int cl,c2;是否無條件的等價?

問題回饋

  • 答案是否定的!因為有些int并無法找到ASCII對應(yīng)的char豆茫!

GPT見解

是的侨歉,您說的是正確的。雖然整型變量和字符變量都是變量類型澜薄,但它們并不在所有情況下可以互相代替为肮。

例如,在C語言中肤京,char類型的變量只能存儲一個字符(在ASCII編碼中)颊艳,而int類型的變量可以存儲更大的值,從-2147483648到2147483647(如果使用32位編譯器)忘分。因此棋枕,如果你將一個超出char類型范圍的整數(shù)賦值給一個char類型的變量,那么該變量將無法存儲整數(shù)的全部信息妒峦,并且會出現(xiàn)錯誤的結(jié)果重斑。

另一方面,當(dāng)你將一個包含字符的變量賦值給一個整型變量時肯骇,這個字符變量會被轉(zhuǎn)換為其對應(yīng)的ASCII碼值并存儲在整型變量中窥浪,這可能與原始字符的含義不同。因此笛丙,在特定情況下漾脂,這兩種類型的變量不能互相代替。

6.運算

什么是算術(shù)運算?什么是關(guān)系運算?什么是邏輯運算?

GPT見解

算術(shù)運算是對數(shù)字進行數(shù)學(xué)操作的過程胚鸯,例如加法骨稿、減法、乘法和除法等姜钳。它們通常用于執(zhí)行數(shù)值計算坦冠。

關(guān)系運算是比較兩個值之間關(guān)系的運算,例如相等哥桥、大于辙浑、小于、大于等于拟糕、小于等于和不等于等判呕。它們通常用于條件語句和循環(huán)控制結(jié)構(gòu)中。

邏輯運算是在邏輯上對布爾值進行操作的過程已卸,例如與佛玄、或和非等硼一。它們通常用于條件語句和循環(huán)控制結(jié)構(gòu)中累澡。在編程中,邏輯運算通常用于判斷某些條件是否滿足般贼,以便程序可以根據(jù)需要采取相應(yīng)的行動愧哟。

8. 比大小

比大小 abc

#include <iostream>
#include "algorithm"

using namespace std;

int main(int argc, char const *argv[]) {
    int a, b, c;
    cin >> a >> b >> c;

    cout << ((a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c));
    cout << max({a, b, c});
    return 0;
}

問題回饋

  • <algorithm>是C++標(biāo)準(zhǔn)庫中的頭文件之一奥吩,它包含了一系列的算法函數(shù)。這些算法函數(shù)都是以泛型編程的方式實現(xiàn)的蕊梧,可以用于不同類型的數(shù)據(jù)結(jié)構(gòu)霞赫。引入了后可以使用 std::max({})

12. 顛倒數(shù)字

給一個不多于5 位的正整數(shù),要求:D求出它是幾位數(shù);2分別打印出每一位數(shù)字;3按逆序打印出各位數(shù)字,例如原數(shù)為321,應(yīng)輸出123。

#include <iostream>
#include <iomanip>
#include <cmath>
#include <algorithm>

using namespace std;

int main(int argc, char const *argv[]) {

    int number;
    cin >> number;
    if (number >= 100000) {
        ::printf("最高為五位數(shù)");
        return 0;
    }

    string str = to_string(number);
    cout << str.length() << endl;
    for (int i = 0; i < str.length(); ++i) {
        cout << str[i] << endl;
    }
    reverse(str.begin(), str.end());
    cout << str << endl;

    return 0;
}

問題回饋

  • 這邊問題比較大肥矢,尤其是反轉(zhuǎn)端衰。reverse是<algorithm>下的函數(shù),其需要提供一個迭代器范圍甘改,即代碼中的`reverse(str.begin(), str.end())

13. 范圍條件

企業(yè)發(fā)放的獎金來自利潤提成旅东。
利潤i低于或等于 10 萬元的,可提成10% 為獎金;
利潤i高于10萬元,低于或等于 20 萬元(100000<i200000 時低于10 萬元的部分按10%提成高于10萬元的部分可提成7.5%;200000<i400000 時低于20 萬的部分仍按上述辦法提成(下同),高于20 萬元的部分按 5% 提成;400000<i600000 時高于40萬元的部分按3% 提成;600000 <i1000000 時高于60萬元的部分按 1.5%提成i>1000000時,超過100萬元的部分按1%提成。從鍵盤輸入當(dāng)月利潤求應(yīng)發(fā)獎金總數(shù)
要求:(1)用if語句編程序:
(2)用switch 語編序十艾。

//過于機械化

14. 排序數(shù)字

輸人4 個整數(shù)要求按由小到大的順序輸出抵代。

#include <iostream>
#include <iomanip>
#include <cmath>
#include <algorithm>
using namespace std;

void swap(int *num1, int *num2)
{
    int temp = *num2;
    *num2 = *num1;
    *num1 = temp;
}
int main(int argc, char const *argv[])
{

    int a, b, c, d;
    cin >> a >> b >> c >> d;
    int nums[] = {a, b, c, d};
    int length = sizeof(nums) / sizeof(nums[0]);
    for (int i = 0; i < length - 1; i++)
    {
        for (int j = 0; j < length - 1; j++)
        {
            if (nums[j] > nums[j + 1])
            {
                swap(nums[j], nums[j + 1]);
            }
        }
    }
    for (int i = 0; i < length; i++)
    {
        cout << nums[i] << ((i < 3) ? "," : "");
    }
    return 0;
}

問題回饋

  • 指針變量
  • 冒泡排序
  • 數(shù)組長度,數(shù)組與Array

15. 最小公倍數(shù) 最大公約數(shù)

輸人兩個正整數(shù) m和n,求其最大公約數(shù)和最小公倍數(shù)忘嫉。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末荤牍,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子庆冕,更是在濱河造成了極大的恐慌康吵,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愧杯,死亡現(xiàn)場離奇詭異涎才,居然都是意外死亡,警方通過查閱死者的電腦和手機力九,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門耍铜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人跌前,你說我怎么就攤上這事棕兼。” “怎么了抵乓?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵伴挚,是天一觀的道長。 經(jīng)常有香客問我灾炭,道長茎芋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任蜈出,我火速辦了婚禮田弥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘铡原。我一直安慰自己偷厦,他們只是感情好商叹,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著只泼,像睡著了一般剖笙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上请唱,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天弥咪,我揣著相機與錄音,去河邊找鬼十绑。 笑死酪夷,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的孽惰。 我是一名探鬼主播晚岭,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼勋功!你這毒婦竟也來了坦报?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤狂鞋,失蹤者是張志新(化名)和其女友劉穎片择,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體骚揍,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡字管,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了信不。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嘲叔。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖抽活,靈堂內(nèi)的尸體忽然破棺而出硫戈,到底是詐尸還是另有隱情,我是刑警寧澤下硕,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布丁逝,位于F島的核電站,受9級特大地震影響梭姓,放射性物質(zhì)發(fā)生泄漏霜幼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一誉尖、第九天 我趴在偏房一處隱蔽的房頂上張望罪既。 院中可真熱鬧,春花似錦、人聲如沸萝衩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽猩谊。三九已至,卻和暖如春祭刚,著一層夾襖步出監(jiān)牢的瞬間牌捷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工涡驮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留暗甥,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓捉捅,卻偏偏與公主長得像撤防,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子棒口,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容