From d02b7c9cd3dbfee77cfa9a9652c111b1513804c2 Mon Sep 17 00:00:00 2001 From: XiaoLFeng Date: Thu, 15 Jun 2023 22:46:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E7=A8=8B=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 main.cpp diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..d49cafc --- /dev/null +++ b/main.cpp @@ -0,0 +1,42 @@ +#include + +// 给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。 +// 请你计算并返回该式的最大值。 +int maxProduct(int nums[], int numsSize) { + int MaxNumber = 0; + for (int i = 0; i < numsSize; ++i) { + for (int j = 0; j < numsSize; ++j) { + if (i == j) continue; + if ((nums[i] - 1) * (nums[j] - 1) > MaxNumber) { + MaxNumber = (nums[i] - 1) * (nums[j] - 1); + } + } + } + return MaxNumber; +} + +int main() { + while (true) { + int numsSize; + printf("[INFO] 请输入数组大小: "); + scanf("%d", &numsSize); + if (numsSize == -1) break; + if (numsSize <= 1) { + printf("[WARNING] 无法完成计算,最少需要2位数\n\n"); + continue; + } + getchar(); + printf("[INFO] 请输入数组内容(中间使用逗号隔开): "); + int nums[numsSize]; + for (int i = 0; i < numsSize - 1; ++i) { + scanf("%d,", &nums[i]); + } + scanf("%d", &nums[numsSize - 1]); + getchar(); + // upload data to maxProduct function + printf("[OUTPUT] 输出结果: %d\n", maxProduct(nums, numsSize)); + printf("\n"); + } + printf("[SYSTEM] 已退出\n"); + return 0; +} \ No newline at end of file