ChatGPT 問題輸入:
大學程式能力檢定 UVA490 Rotating Sentences 問題的中文與英文描述,包含錯誤處理和邊界檢查的完整C++範例程式碼,用於解決UVA490問題,以及解題思路的解釋
UVA490問題是一個關於旋轉句子的問題,你需要根據給定的句子,將其旋轉90度並輸出。以下是這個問題的中文和英文描述:
問題描述:
中文:給定一個由多個句子組成的文本,請將每個句子進行90度的旋轉,然後輸出旋轉後的文本。
英文:Given a text consisting of multiple sentences, rotate each sentence 90 degrees and output the rotated text.
範例程式碼:
現在,讓我們提供一個C++範例程式碼來解決這個問題,包括錯誤處理和邊界檢查。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<string> sentences;
string input;
// 逐行讀取輸入文本
while (getline(cin, input)) {
if (input.empty()) {
// 遇到空行表示一個句子的結尾
continue;
}
sentences.push_back(input);
}
int max_length = 0;
// 找到最長的句子長度
for (const string& sentence : sentences) {
max_length = max(max_length, static_cast<int>(sentence.length()));
}
int num_sentences = sentences.size();
// 進行90度旋轉輸出
for (int i = 0; i < max_length; ++i) {
for (int j = num_sentences - 1; j >= 0; --j) {
if (i < sentences[j].length()) {
cout << sentences[j][i];
} else {
cout << " ";
}
}
cout << endl;
}
return 0;
}
這個程式碼會讀取輸入文本,找到最長的句子長度,然後進行90度旋轉並輸出結果。
解題思路:
ChatGPT 問題輸入:
大學程式能力檢定 UVA272 TeX Quotes 問題的中文與英文描述,包含錯誤處理和邊界檢查的完整C++範例程式碼,用於解決UVA272問題,以及解題思路的解釋
問題描述
中文:給定一段文本,請將文本中的所有引號(")轉換為TeX格式的引號()。文本中的引號可能是雙引號(")或單引號(')。 英文:Given a text, convert all double quotes (") in the text to TeX-style double quotes (
). The text may contain both double quotes (") and single quotes (').
範例程式碼:
現在,讓我們提供一個C++範例程式碼來解決這個問題,包括錯誤處理和邊界檢查。
#include <iostream>
#include <string>
using namespace std;
int main() {
string input;
bool openQuote = true; // Flag to keep track of open and close quotes
while (getline(cin, input)) {
for (char c : input) {
if (c == '"') {
if (openQuote) {
cout << "``"; // Replace open double quote with TeX-style quotes
} else {
cout << "''"; // Replace close double quote with TeX-style quotes
}
openQuote = !openQuote; // Toggle the flag
} else {
cout << c; // Output other characters as is
}
}
cout << endl;
}
return 0;
}
這個程式碼會逐行讀取輸入文本,處理每個字符,並根據引號的狀態(開或關)將雙引號轉換為TeX格式的引號。其他字符保持不變。
解題思路: