1. 程式人生 > >[0311]C++簡單程序設計-1

[0311]C++簡單程序設計-1

() 插入 mage enter eve 列表 課程 參考 表達式

南京信息工程大學實驗報告

實驗名稱 C++簡單程序設計-1 實驗日期 2018-3-13 得分 指導教師 耿學華 計軟院 專業 計嵌+軟嵌 年級 2017 級 班次 (1) 姓名 施昊陽 學號 20161334026

一、實驗目的

  • 熟悉 c++程序開發環境,體驗使用 devc++、code::blocks、vs2017 編寫、運行一個簡單 c++程序的步驟和方法。
  • 掌握 C++中數據輸入和輸出的基本方法
  • 掌握分支結構和循環結構的語句

二、實驗準備

實驗前,請圍繞以下內容結合教材、網絡檢索學習指定內容。

  • 開發環境使用
    • devc++中編寫、運行 c++程序的步驟
    • code::blocks 中編寫、運行 c++程序的步驟
    • vs2017 中編寫、運行 c++程序的步驟
  • 簡單的 C++程序結構閱讀、學習教材「2.1.3 C++程序實例」
  • C++中數據輸入和輸出的基本方法閱讀、學習教材2.3節,學習C++中I/O流、預定義的插入符<<和提取符>>的基本用法。
  • if語句、switch語句、while語句、do…while語句的用法
    結合例2-4和例2-6,理解示例背後簡單算法以及涉及的switch語句、break語句、 do...while語句。

三、實驗內容

  • 驗證性實驗
    • devc++、code::blocks、vs2017 軟件下載與安裝參見課程公郵→文件中心下的「軟件下載網址.pdf」
    • 在 C++程序開發環境中(devc++, code::blocks, vs2017)中編寫、運行教材示例 2-1。了解簡單的 C++程序結構及其編寫、運行方法。
    • 運行教材示例 2-4,理解其中涉及的 switch 語句和 break 語句的用法。
    • 運行教材示例 2-6,理解其中涉及的算術表達式及循環語句的用法。
  • 編程練習
    • 參考教材示例 2-4,編程實現:輸入 1~7 的整數,如果輸入的是 1~5,則輸出“workday. Let’s work hard”;如果輸入的是 6~7,則輸出“weekend. Let’s have a rest.”
    • 教材示例 2-6,輸入一個整數,將各位數字反轉後輸出。(例如,輸入 365,輸出 563。示例 2-6 的實現中,5-6-3 是分三次逐個輸出的,這裏要求編程實現的程序是把 563 作為一個數整體輸出。)

四、 實驗結論

  • 編程練習(1)源代碼及運行結果截圖
    • Code:

      #include<bits/stdc++.h>
      #define workday() cout<<"Workday. Let's work hard."<<endl;
      #define weekend() cout<<"Weekend. Let's have a rest."<<endl;
      using namespace std;
      int main()
      {   
        int day;
        cin>>day;
        switch (day)
        {
        case 1:workday();break;
        case 2:workday();break;
        case 3:workday();break;
        case 4:workday();break;
        case 5:workday();break;
        case 6:weekend();break;
        case 7:weekend();break;
        default:puts("Wrong Number!\n");break;
        }
        return 0;
      }
    • Screenshot:
      技術分享圖片

  • 編程練習(2)源代碼及運行結果截圖
    • Code1:

      #include<bits/stdc++.h>
      using namespace std;
      int main()
      {
        int num,ans=0;
        cin>>num;
        do{
        ans=ans*10+num%10;
        num/=10;
        }while(num);
        cout<<ans;
        return 0;
      }
    • Screenshot:
      技術分享圖片

五、 實驗總結與體會

  • 在本次實驗中遇到的最大問題是對於Markdown語言的使用,原生語法不支持下劃線、無法定義二級有序列表、代碼縮進無法表示……經過搜索,這些問題都得到了解決,對使用

    123
  • 編程實驗2中的采用的方法對於大數據上處理有所不足,可用字符串解決,時間效率也更低,附代碼:
    • Code:

      #include<bits/stdc++.h>
      using namespace std;
      string work_stl(string num)
      {
        while (num[num.length()-1]=='0')
        num=num.substr(0,num.length()-1);
        return num==""?"0":num;
      }
      int main()
      {
        string num;
        cin>>num;
        num=work_stl(num);
        reverse(num.begin(),num.end());
        cout<<num;
        return 0;
      }
    • Screenshot:
      技術分享圖片

[0311]C++簡單程序設計-1