[C++] NCYU 課堂練習05

請不要直接抄寫程式碼! 也請不要直接跳到程式碼部分,除非你已經寫好了,想要參考別人的寫法! 第一題 邏輯判斷!按照題目敘述邏輯 #include<iostream> using namespace std; int main() { int y; cin>>y; if( ( y%4==0 && y%100!=0 ) || y%400==0 ) cout<<"YES"; else cout<<"NO"; } 第二題 輸出會有七種可能,慢慢討論 可以分成四種象限與其他部分 #include <iostream> using namespace std; int main() { int x,y; cin>>x>>y; if ( x!=0 && y!=0 ){ if ( x>0 ){ if ( y>0 ) cout<<"第一象限"; else cout<<"第四象限"; } else{ if ( y>0 ) cout<<"第二象限"; else cout<<"第三象限"; } } else{ if ( x==0 && y==0 ) cout<<"原點"; else if ( x==0 ) cout<<"Y軸"; else cout<<"X軸"; } } 第三題 可利用題目的年分來當作起使判斷(2019為己亥,以此類推) 也可用定義解(上網查) 天干地支分開判斷,case 數會比較少 #include <iostream> using namespace std; int main() { int year; cin>>year; int x = year%10, y = year%12; switch(x){ case 4: cout<<"甲"; break; case 5: cout<<"乙"; break; case 6: cout<<"丙"; break; case 7: cout<<"丁"; break; case 8: cout<<"戊"; break; case 9: cout<<"己"; break; case 0: cout<<"庚"; break; case 1: cout<<"辛"; break; case 2: cout<<"壬"; break; case 3: cout<<"癸"; break; } switch(y){ case 4: cout<<"子"; break; case 5: cout<<"丑"; break; case 6: cout<<"寅"; break; case 7: cout<<"卯"; break; case 8: cout<<"辰"; break; case 9: cout<<"巳"; break; case 10: cout<<"午"; break; case 11: cout<<"未"; break; case 0: cout<<"申"; break; case 1: cout<<"酉"; break; case 2: cout<<"戌"; break; case 3: cout<<"亥"; break; } } 第四題 每個 char (字元)都會有一個值,稱為 ASCII 利用 ASCII 來確認該字是否在 小寫區間 #include <iostream> using namespace std; int main() { char word; cin>>word; // a 97 z 122 A 65 Z 90 if ( 97<=word && word<=122 ) cout<<"Character "<<word<<" is a lowercase letter....

October 30, 2020 · 2 min · CPP

[C++] NCYU 課堂練習04

請不要直接抄寫程式碼! 也請不要直接跳到程式碼部分,除非你已經寫好了,想要參考別人的寫法! 第一題 cin.ignore(長度,想跳過的字元) 用來忽略特定字元 string 有兩個函式 size() 跟 length() 都是回傳字串長度 #include <iostream> using namespace std; int main() { string word; cin.ignore(100,'='); cin>>word; cout<<word<<", length="<<word.size(); } 第二題 三角函數的函式是屬於 <cmath> 函式庫 #define 可把想替換的字換成另一個字,Pi 也可以用 float 、 double 存 #include <iostream> #include <cmath> #include <iomanip> #define Pi 3.14159 using namespace std; int main() { float a,b,c; cin>>a>>b>>c; cout<<setprecision(3)<<fixed<<a*b*sin(c*Pi/180.0)/2.0; } 第三題 先判斷分數(注意題目是大於等於),再判斷溫度及氣壓 邏輯運算子 || 是 or 、 && 是 and #include <iostream> using namespace std; int main() { int score; cin>>score; if(score>=100) cout<<"High"; else cout<<"Low"; cout<<endl; int tem,pre; cin>>tem>>pre; if( tem>=40 || pre>=200 ) cout<<"Warning"; else cout<<"OK"; cout<<endl; } 如果有任何問題,歡迎私訊跟我討論喔!

October 30, 2020 · 1 min · CPP

[C++] NCYU 課堂練習03

請不要直接抄寫程式碼! 也請不要直接跳到程式碼部分,除非你已經寫好了,想要參考別人的寫法! 第一題 iomanip 是 C++ 管理 格式化輸出 的函式庫。 iomanip 官方文件 double 與 float 為浮點數宣告,可以儲存小數。 除數與被除數只要一者形態為浮點數,商就會是浮點數。 因為第二位無條件進位,加多少就會進位呢? #include<iostream> #include<iomanip> using namespace std; int main() { double a,b; cin>>a>>b; double result = a/b; //1.623 -> 1.63 cout<<setprecision(2)<<fixed<<result+0.004; } 第二題 簡單的四則運算,不會忘記週長跟面積的算法吧! #include<iostream> using namespace std; int main() { int a,b,c,d; cin>>a>>b>>c>>d; cout<<(c-a)*(d-b)<<endl; cout<<(c-a+d-b)*2; } 如果有任何問題,歡迎私訊跟我討論喔!

October 30, 2020 · 1 min · CPP

[C++] NCYU 課堂練習02

請不要直接抄寫程式碼! 也請不要直接跳到程式碼部分,除非你已經寫好了,想要參考別人的寫法! 第一題 <iostream> 是 C++ 負責管 cin 、 cout 的函式庫, 如果在前面加上 #include 代表引入後方的函式庫。 #include <iostream> 使用命名空間,否則每次打 cin 、 cout 都要在前面加上 std:: ,像是: std::cout<<"Hello, world!"<<endl; using namespace std; int 為整數宣告,每宣告一次就像電腦索取 4 bytes ,能夠存放 -231-1 ~ 231 範圍的整數。 int 後面接著變數名,命名需符合規則(命名盡量要有意義),變數可以一開始給予數值,也可以之後再指派。 題目要輸入三個整數,並輸出它們相乘的結果。程式碼大概如下: #include <iostream> using namespace std; int main() { int number1,number2,number3; cin>>number1>>number2>>number3; cout<<number1*number2*number3; } 第二題 % 是取餘數的意思。 / 是整數除法的意思。 10 / 3 = 3 ... 1 意即 10 / 3 會等於 3,10 % 3 會等於 1 如何判斷一個數是偶數奇數呢?我們可以將它除以二!...

October 30, 2020 · 1 min · CPP