#include <iostream>
using namespace std;
int main() {
int s;
while(cin >> s){
if(s%4==0 && s%100!=0)
cout << "閏年"<< endl;
else if(s%400==0)
cout << "閏年"<< endl;
else
cout << "平年"<< endl;
}
return 0;
}
cout和printf有什麼差別?
C++输入cout与输出cin
錯誤的程式碼v0.1
#include <iostream> using namespace std; int main() { string s; while(cin >> s){ if(s%4==0 && s%100!=0) cout << "閏年"<< endl; else if(s%400==0) cout << "閏年"<< endl; else cout << "平年"<< endl; } return 0; }
非常直覺的拿範例程式來改寫了這樣的程式碼
得到了以下的結果
/2761251/code_2761251.cpp: In function ‘int main()’: /2761251/code_2761251.cpp:7:5: error: no match for ‘operator%’ (operand types are ‘std::string {aka std::basic_string}’ and ‘int’) if(s%4==0 && s%100!=0) ^ /2761251/code_2761251.cpp:7:15: error: no match for ‘operator%’ (operand types are ‘std::string {aka std::basic_string }’ and ‘int’) if(s%4==0 && s%100!=0) ^ /2761251/code_2761251.cpp:9:10: error: no match for ‘operator%’ (operand types are ‘std::string {aka std::basic_string }’ and ‘int’) else if(s%400==0) ^
為甚麼會這樣呢?
因為輸入是string
改成int就可以了
不過這個時候有一個問題要思考了
string如何轉int?
[C&++] 字串整數轉換
上面這篇是呼叫現成的函數
如果自己寫的話,聽說要看一下 C++ Primer
C語言算術運算子
運算子
|
功能
|
範例
|
+
|
加
|
a+b
|
-
|
減
|
a-b
|
*
|
乘
|
a*b
|
/
|
除
|
a/b
|
%
|
取餘數
|
a%b
|
沒有留言:
張貼留言