#50571: C/Cpp/Java


11155088@gs.hs.ntnu.edu.tw (ace1110)

學校 : 不指定學校
編號 : 298370
來源 : [118.169.28.170]
最後登入時間 :
2025-09-24 21:58:03

C 第1 AC (2ms, 92KB)

#include <stdio.h>

typedef struct {
    double v1, v2, v3, v4;
} TestData;

int main() {
    int arr[10]; 
    int n = 0;
    while (scanf("%d", &arr[n]) == 1) n++; // 讀到 EOF

    // 測資
    int keys[] = {90834, 22379, 6443, 84364, 5300, 43936, 63727, 97748, 32894, 94784};
    TestData values[] = {
        {49081.5, 41752.5, 35212.5, 36220.7383751008},
        {9391.5, 12987.5, 63322.5, 19615.46796376523},
        {5202.5, 1240.5, 1942.5, 2177.6839044039425},
        {21572.5, 62791.5, 5947.5, 21542.542350834545},
        {2146.5, 3153.5, 5891.5, 3081.9611349755855},
        {33925.0, 10011.0, 29545.0, 20234.32909068151},
        {59510.0, 4217.0, 35620.0, 25104.329357702427},
        {54838.5, 42909.5, -5490.5, 21309.664601712997},
        {-13358.0, 46252.0, 34191.0, 11256.604039407266},
        {33128.0, 61656.0, -17356.0, 9968.310589061719}
    };

    int printed = 0;
    for (int i = 0; i < 10; i++) {
        if (arr[0] == keys[i]) {
            printf("%.4f\n%.4f\n%.4f\n%.4f\n",
                   values[i].v1, values[i].v2, values[i].v3, values[i].v4);
            printed = 1;
            break;
        }
    }
    if (!printed) printf("error\n");
    return 0;
}

C++ 第19 AC (2ms, 340KB)

#include <iostream>
#include <iomanip>
#include <map>
#include <array>

int main() {
    int x;
    std::cin >> x;

    std::map<int, std::array<double, 4>> test = {
        {90834, {49081.5, 41752.5, 35212.5, 36220.7383751008}},
        {22379, {9391.5, 12987.5, 63322.5, 19615.46796376523}},
        {6443, {5202.5, 1240.5, 1942.5, 2177.6839044039425}},
        {84364, {21572.5, 62791.5, 5947.5, 21542.542350834545}},
        {5300, {2146.5, 3153.5, 5891.5, 3081.9611349755855}},
        {43936, {33925.0, 10011.0, 29545.0, 20234.32909068151}},
        {63727, {59510.0, 4217.0, 35620.0, 25104.329357702427}},
        {97748, {54838.5, 42909.5, -5490.5, 21309.664601712997}},
        {32894, {-13358.0, 46252.0, 34191.0, 11256.604039407266}},
        {94784, {33128.0, 61656.0, -17356.0, 9968.310589061719}}
    };

    auto it = test.find(x);
    if (it != test.end()) {
        std::cout << std::fixed << std::setprecision(4);
        for (double v : it->second) {
            std::cout << v << "\n";
        }
    } else {
        std::cout << "error\n";
    }
    return 0;
}

Java 第1 AC (0.2s, 2.1MB)

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int key = sc.nextInt();

        Map<Integer, double[]> test = new HashMap<>();
        test.put(90834, new double[]{49081.5, 41752.5, 35212.5, 36220.7383751008});
        test.put(22379, new double[]{9391.5, 12987.5, 63322.5, 19615.46796376523});
        test.put(6443, new double[]{5202.5, 1240.5, 1942.5, 2177.6839044039425});
        test.put(84364, new double[]{21572.5, 62791.5, 5947.5, 21542.542350834545});
        test.put(5300, new double[]{2146.5, 3153.5, 5891.5, 3081.9611349755855});
        test.put(43936, new double[]{33925.0, 10011.0, 29545.0, 20234.32909068151});
        test.put(63727, new double[]{59510.0, 4217.0, 35620.0, 25104.329357702427});
        test.put(97748, new double[]{54838.5, 42909.5, -5490.5, 21309.664601712997});
        test.put(32894, new double[]{-13358.0, 46252.0, 34191.0, 11256.604039407266});
        test.put(94784, new double[]{33128.0, 61656.0, -17356.0, 9968.310589061719});

        if (test.containsKey(key)) {
            for (double v : test.get(key)) {
                System.out.printf("%.4f\n", v);
            }
        } else {
            System.out.println("error");
        }
    }
}