#7833: 我百分之百確定完全沒問題


wemee (阿勇)

學校 : 國立北港高級中學
編號 : 4621
來源 : [220.135.3.103]
最後登入時間 :
2024-09-13 14:26:27
b056. 1. 影像像素轉換問題 -- 95學年度全國資訊學科能力競賽 | From: [60.250.139.121] | 發表日期 : 2013-06-07 16:26

請把以下程式碼複製到你電腦跑跑看

我百分之百確定完全沒問題

可是送上去都是WA格式不符

#include<stdio.h>

 

int main() {

    short n, i, r, g, b;

    float t, sum = 0.0;

    while( scanf("%hd", &n)!=EOF ) {

        sum = 0.0;

        n *= n;

        for (i=0; i<n; i++) {

            scanf("%hd %hd %hd", &r, &g, &b);

            t = 0.2654*r + 0.6704*g + 0.0642*b;

            sum += t;

            printf("%.4f %.4f %.4f\n", 0.5149*r + 0.3244*g + 0.1607*b, t, 0.0248*r + 0.1248*g + 0.8504*b);

        }

        printf("The average of Y is %.4f", sum/n);

    }

    return 0;

} 

 
#7834: Re:我百分之百確定完全沒問題


wemee (阿勇)

學校 : 國立北港高級中學
編號 : 4621
來源 : [220.135.3.103]
最後登入時間 :
2024-09-13 14:26:27
b056. 1. 影像像素轉換問題 -- 95學年度全國資訊學科能力競賽 | From: [60.250.139.121] | 發表日期 : 2013-06-07 16:33

我知道你準備說用short會overflow

好 那我改用int 跟 double

一樣WA

#include<stdio.h>

 

int main() {

    int n, i, r, g, b;

    double t, sum = 0.0;

    while( scanf("%d", &n)!=EOF ) {

        sum = 0.0;

        n *= n;

        for (i=0; i<n; i++) {

            scanf("%d %d %d", &r, &g, &b);

            t = 0.2654*r + 0.6704*g + 0.0642*b;

            sum += t;

            printf("%.4f %.4f %.4f\n", 0.5149*r + 0.3244*g + 0.1607*b, t, 0.0248*r + 0.1248*g + 0.8504*b);

        }

        printf("The average of Y is %.4f", sum/n);

    }

    return 0;

} 

 
#8803: Re:我百分之百確定完全沒問題


anandrewboy70900 (ShowTsai)

學校 : 國立中央大學
編號 : 27736
來源 : [203.204.218.144]
最後登入時間 :
2024-10-11 16:21:37
b056. 1. 影像像素轉換問題 -- 95學年度全國資訊學科能力競賽 | From: [124.12.91.99] | 發表日期 : 2014-05-10 11:21

有可能是四捨五入的問題喔~

題目有說y的平均要四捨五入到小數第四位

 



 
#8804: Re:我百分之百確定完全沒問題


anandrewboy70900 (ShowTsai)

學校 : 國立中央大學
編號 : 27736
來源 : [203.204.218.144]
最後登入時間 :
2024-10-11 16:21:37
b056. 1. 影像像素轉換問題 -- 95學年度全國資訊學科能力競賽 | From: [124.12.91.99] | 發表日期 : 2014-05-10 11:33

不對

我剛剛發現不處理四捨五入也會過==

你的不會過是因為忘記"換行"了

 printf("The average of Y is %.4f\n", sum/n);

 

 

 
ZeroJudge Forum