#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]);
}
}
}
}
}
#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++){
#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++){
謝謝你,但我改完後,還是印出奇怪的結果。
謝謝你,但我改完後,還是印出奇怪的結果。
你要先把10組頁面輸入,尋找最大值後再輸出
謝謝你,但我改完後,還是印出奇怪的結果。
你要先把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]);
我在這裡就會輸入網址和相關度,但都印出奇怪結果。
你要先把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]);
我在這裡就會輸入網址和相關度,但都印出奇怪結果。
我的意思是,十組全部輸入完後再一起輸出。你現在的方式是每輸入一組,判斷是否是「目前」的最大值,但是沒有考慮到之後有可能輸入了更大的值
你要先把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]); } } } }
你要先把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