#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; }