#28138: 請問大家我這樣的寫法如何修改?


ic231542211 (willie)

學校 : 不指定學校
編號 : 44051
來源 : [123.194.107.200]
最後登入時間 :
2022-09-15 15:14:37
a130. 12015 - Google is Feeling Lucky -- UVa12015 | From: [140.124.249.31] | 發表日期 : 2021-11-15 19:53

#include<stdio.h>

int main(){

    char www[10][101]; //網址

    int relevant[10]; //相關度

    int T;

    int a = 0;

    int max_relevant = -1;  //預設max_relevant為-1

    scanf("%d", &T);

    for(int i = 0; i < T; i++){

        for(int j = 0; j < 10; j++){

            scanf("%s %d", &www[j], &relevant[j]);

            if(relevant[j] > max_relevant){  //與預設的max_relevant比較

                max_relevant = relevant[j];

            }

            printf("Case #%d:\n", ++a);

            for(int i = 0; i < 10; i++){

            if(relevant[j] == max_relevant){//若相關度相同時

                 printf("%s\n", www[i]);

                }

            }

        }

    }

}

請問我要從何修改,才能印出正確答案?

 
#28139: Re:請問大家我這樣的寫法如何修改?


910455@mail.pcsh.ntpc.edu.tw (22游曉潔)

學校 : 不指定學校
編號 : 170585
來源 : [111.248.151.77]
最後登入時間 :
2021-11-06 11:39:45
a130. 12015 - Google is Feeling Lucky -- UVa12015 | From: [111.248.99.202] | 發表日期 : 2021-11-15 20:28

#include

int main(){

    char www[10][101]; //網址

    int relevant[10]; //相關度

    int T;

    int a = 0;

    int max_relevant = -1;  //預設max_relevant為-1

    scanf("%d", &T);

    for(int i = 0; i < T; i++){

        for(int j = 0; j < 10; j++){

            scanf("%s %d", &www[j], &relevant[j]);

            if(relevant[j] > max_relevant){  //與預設的max_relevant比較

                max_relevant = relevant[j];

            }

            printf("Case #%d:\n", ++a);

            for(int i = 0; i < 10; i++){

            if(relevant[j] == max_relevant){//若相關度相同時

                 printf("%s\n", www[i]);

                }

            }

        }

    }

}

請問我要從何修改,才能印出正確答案?

每筆測資都要max_relevant = -1(重置),因為他共有T筆

 for(int i = 0; i < T; i++){

        max_relevant = -1;

        for(int j = 0; j < 10; j++){

 
#28142: Re:請問大家我這樣的寫法如何修改?


ic231542211 (willie)

學校 : 不指定學校
編號 : 44051
來源 : [123.194.107.200]
最後登入時間 :
2022-09-15 15:14:37
a130. 12015 - Google is Feeling Lucky -- UVa12015 | From: [140.124.249.31] | 發表日期 : 2021-11-15 21:45

#include

int main(){

    char www[10][101]; //網址

    int relevant[10]; //相關度

    int T;

    int a = 0;

    int max_relevant = -1;  //預設max_relevant為-1

    scanf("%d", &T);

    for(int i = 0; i < T; i++){

        for(int j = 0; j < 10; j++){

            scanf("%s %d", &www[j], &relevant[j]);

            if(relevant[j] > max_relevant){  //與預設的max_relevant比較

                max_relevant = relevant[j];

            }

            printf("Case #%d:\n", ++a);

            for(int i = 0; i < 10; i++){

            if(relevant[j] == max_relevant){//若相關度相同時

                 printf("%s\n", www[i]);

                }

            }

        }

    }

}

請問我要從何修改,才能印出正確答案?

每筆測資都要max_relevant = -1(重置),因為他共有T筆

 for(int i = 0; i < T; i++){

        max_relevant = -1;

        for(int j = 0; j < 10; j++){

 

謝謝你,但我改完後,還是印出奇怪的結果。



 
#28163: Re:請問大家我這樣的寫法如何修改?


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [101.136.203.77]
最後登入時間 :
2024-04-07 15:34:14
a130. 12015 - Google is Feeling Lucky -- UVa12015 | From: [27.53.9.177] | 發表日期 : 2021-11-15 22:36


 謝謝你,但我改完後,還是印出奇怪的結果。




你要先把10組頁面輸入,尋找最大值後再輸出

 
#28169: Re:請問大家我這樣的寫法如何修改?


ic231542211 (willie)

學校 : 不指定學校
編號 : 44051
來源 : [123.194.107.200]
最後登入時間 :
2022-09-15 15:14:37
a130. 12015 - Google is Feeling Lucky -- UVa12015 | From: [123.194.107.200] | 發表日期 : 2021-11-16 10:39

 

 謝謝你,但我改完後,還是印出奇怪的結果。




你要先把10組頁面輸入,尋找最大值後再輸出

 

  scanf("%d", &T);

    for(int i = 0; i < T; i++){

        for(int j = 0; j < 10; j++){

            scanf("%s %d", &www[j], &relevant[j]);

 

我在這裡就會輸入網址和相關度,但都印出奇怪結果。

 
#28170: Re:請問大家我這樣的寫法如何修改?


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [101.136.203.77]
最後登入時間 :
2024-04-07 15:34:14
a130. 12015 - Google is Feeling Lucky -- UVa12015 | From: [110.28.36.48] | 發表日期 : 2021-11-16 11:26


你要先把10組頁面輸入,尋找最大值後再輸出

 

  scanf("%d", &T);

    for(int i = 0; i < T; i++){

        for(int j = 0; j < 10; j++){

            scanf("%s %d", &www[j], &relevant[j]);

 

我在這裡就會輸入網址和相關度,但都印出奇怪結果。


我的意思是,十組全部輸入完後再一起輸出。你現在的方式是每輸入一組,判斷是否是「目前」的最大值,但是沒有考慮到之後有可能輸入了更大的值

 
#28171: Re:請問大家我這樣的寫法如何修改?


ic231542211 (willie)

學校 : 不指定學校
編號 : 44051
來源 : [123.194.107.200]
最後登入時間 :
2022-09-15 15:14:37
a130. 12015 - Google is Feeling Lucky -- UVa12015 | From: [123.194.107.200] | 發表日期 : 2021-11-16 12:51


你要先把10組頁面輸入,尋找最大值後再輸出

 

  scanf("%d", &T);

    for(int i = 0; i < T; i++){

        for(int j = 0; j < 10; j++){

            scanf("%s %d", &www[j], &relevant[j]);

 

我在這裡就會輸入網址和相關度,但都印出奇怪結果。


我的意思是,十組全部輸入完後再一起輸出。你現在的方式是每輸入一組,判斷是否是「目前」的最大值,但是沒有考慮到之後有可能輸入了更大的值

謝謝你,我改好了,我用範例測資測試,"答案正確",但實際測試,卻顯示我錯在第15行(WA)(您的答案為: Case #4: 正確答案為: www.bad.com)。

#include<stdio.h> int main(){ char www[10][101]; //網址 int relevant[10]; //相關度 int T; int a = 0; int max_relevant = -1; //預設max_relevant為-1 scanf("%d", &T); //幾筆測試資料 for(int i = 0; i < T; i++){ //輸入每筆10組網址與相關度 for(int j = 0; j < 10; j++){ scanf("%s %d", &www[j], &relevant[j]); } //比較每筆10組網址的相關度大小 for(int j = 0; j < 10; j++){ if(relevant[j] > max_relevant){ max_relevant = relevant[j]; } } printf("Case #%d:\n", ++a); for(int j = 0; j < 10; j++){ //如果每筆10組網址的相關度大小相同時 if(relevant[j] == max_relevant){ printf("%s\n", www[j]); } } } }

 

 

 
#28173: Re:請問大家我這樣的寫法如何修改?


ic231542211 (willie)

學校 : 不指定學校
編號 : 44051
來源 : [123.194.107.200]
最後登入時間 :
2022-09-15 15:14:37
a130. 12015 - Google is Feeling Lucky -- UVa12015 | From: [123.194.107.200] | 發表日期 : 2021-11-16 14:54


你要先把10組頁面輸入,尋找最大值後再輸出

 

  scanf("%d", &T);

    for(int i = 0; i < T; i++){

        for(int j = 0; j < 10; j++){

            scanf("%s %d", &www[j], &relevant[j]);

 

我在這裡就會輸入網址和相關度,但都印出奇怪結果。


我的意思是,十組全部輸入完後再一起輸出。你現在的方式是每輸入一組,判斷是否是「目前」的最大值,但是沒有考慮到之後有可能輸入了更大的值

 

我搞定了,"輸入每筆多組的資料"前要先把max_relevant初始化。

 

               max_relevant = -1; //每筆多組資料的最大相關度初始化為 -1



 
ZeroJudge Forum