濰坊網站開發(fā)公司秒收錄關鍵詞代發(fā)
難度參考
????????難度:簡單
????????分類:熟悉OJ與IDE的操作
????????難度與分類由我所參與的培訓課程提供,但需要注意的是,難度與分類僅供參考。以下內容均為個人筆記,旨在督促自己認真學習。
題目
A + B | 1. A + B - AcWing題庫 |
財務管理 | 1004:財務管理 |
實現四舍五入 | 實現四舍五入 |
牛牛的字符菱形 | 牛牛的字符菱形 |
題解
A+B

????????
#include <iostream>
#include <cstdio>using namespace std;int a,b;
int main(){cin>>a>>b;cout<<a+b<<endl;return 0;
}
????????時間復雜度為O(1)。
????????空間復雜度也是O(1)。
????????本題據說還有十幾種其他惡搞版題解,待學成之后仔細研究一下。
財務管理

#include <iostream>
#include <iomanip> // 用于設置輸出格式using namespace std;int main() {double sum = 0.0; // 初始化總結余為0double balance; // 用于存儲每個月的結余for (int i = 0; i < 12; i++) {cin >> balance; // 輸入每個月的結余sum += balance; // 累加到總結余中}double average = sum / 12.0; // 計算平均月末結余// 設置輸出格式,保留兩位小數,并在前面加上"$"符號cout << fixed << setprecision(2) << "$" << average << endl;return 0;
}
????????時間復雜度為O(1)。(循環(huán)次數固定)
????????空間復雜度也是O(1)。
????????使用iomanip庫,可以直接用fixed去保留小數個數。
實現四舍五入
????????使用cmath庫的話,里面有直接的四舍五入的函數。
#include <iostream>
#include <cmath>
using namespace std;int main() {double floatingNumber;cin >> floatingNumber;// 將浮點數四舍五入并轉換為整數int roundedNumber = round(floatingNumber);cout << roundedNumber << endl;return 0;
}
?????????時間復雜度為O(1)。
????????空間復雜度也是O(1)。
????????不過常見的做法是利用加減0.5后強制轉化后實現四舍五入。加減的原因是正數為加,負數為減。

#include <iostream>
using namespace std;int main() {float a;int b;cin >> a;// 判斷浮點數的小數部分是否大于等于0.5if (a >= 0) {b = a + 0.5;} else {b = a - 0.5;}cout << b << endl;return 0;
}
?????????時間復雜度為O(1)。
????????空間復雜度也是O(1)。
牛牛的字符菱形
????????明顯的懶鬼做法。
#include <iostream>
using namespace std;int main() {char a;cin >> a;cout << " " << " " << a << " " << " " << endl;cout << " " << a << a << a << " " << endl;cout << a << a << a << a << a << endl;cout << " " << a << a << a << " " << endl;cout << " " << " " << a << " " << " " << endl;
}
????????時間復雜度為O(1)。
????????空間復雜度也是O(1)。
????????動點腦子。

#include <iostream>
using namespace std;int main() {char ch;cin >> ch;// 上半部分菱形for (int i = 1; i <= 3; i++) {for (int j = 1; j <= 3 - i; j++) {cout << " ";}for (int j = 1; j <= 2 * i - 1; j++) {cout << ch;}cout << endl;}// 下半部分菱形for (int i = 2; i >= 1; i--) {for (int j = 1; j <= 3 - i; j++) {cout << " ";}for (int j = 1; j <= 2 * i - 1; j++) {cout << ch;}cout << endl;}return 0;
}
思路
-
首先,我們從用戶那里接收一個字符作為輸入,并將其存儲在變量
ch
中。 -
然后,我們使用兩個循環(huán)來打印菱形圖案。上半部分的循環(huán)用于打印每一行的空格和字符,下半部分的循環(huán)用于打印下半部分的空格和字符。
-
對于上半部分的循環(huán),我們使用一個外層循環(huán)來迭代打印每一行。循環(huán)變量
i
的范圍是從1到3,即打印3行。每一行前面的空格的數量是3 - i
,通過內層循環(huán)來輸出。 -
內層循環(huán)使用變量
j
從1遞增到(2 * i - 1)
來打印每一行的字符(ch
)。這是因為每一行的字符數量符合等差數列的規(guī)律,首項是 1,公差是 2。 -
上半部分的循環(huán)結束后,我們開始打印下半部分的菱形圖案。這里我們使用一個外層循環(huán)來迭代打印每一行。循環(huán)變量
i
的范圍是從2到1,即打印2行。每一行前面的空格的數量是3 - i
,通過內層循環(huán)來輸出。 -
內層循環(huán)同樣使用變量
j
從1遞增到(2 * i - 1)
來打印每一行的字符(ch
)。 -
最后,我們通過輸出換行符來確保每一行之后都換行。
打卡
? ? ? ? A+B
????????財務管理
????????實現四舍五入
? ? ? ? 牛牛的字符菱形