題目4:C語言實現買房子(結構體)
買房面積不要求太大,環境不要求太好,只要單價夠便宜就已經很滿足啦~現在挑選了一些房源,請你幫忙選一選,哪個最適合呢?小本本上記錄了房子的名稱(字母和數字組成,無空格)、面積和總價,你來幫編個程序自動計算一下吧。
【輸入】
第一行爲一個整數N(1<=N<=100),表示接下來有N套房源信息;
接下來有N行,每行包括房源名稱(不超過100個字符)、面積和總價(double類型,小數點後保留兩位),以空格分隔。
【輸出】
僅一行,爲最適合的房源信息,以空格分隔,末尾換行。
測試用例保證沒有單價重複的情況。
測試輸入 | 期待的輸出 | |
測試用例 | 3 Tangdaowan0101 50 50 Jiangshan1314 49 50 Jinshatan1111 51 50 |
Jinshatan1111 51.00 50.00 |
代碼:
#include <stdio.h>
#include <string.h>
typedef struct
{
char name[101];
double area;
double sum;
double avg;
} House;
int Gethouse(House h[],int n){
int i,j,t=0,flag;
for(i=0;i<n;i++){
h[i].avg=h[i].sum/h[i].area;
}
for(j=0;j<n;j++){
if(h[j].avg>t)
t=h[j].avg;
flag=j;
}
return flag;
}
int main()
{
int n,i,flag = 0;//n有幾行
scanf("%d",&n);
House h[n];
for (i = 0; i < n; i ++)
scanf("%s%lf%lf",h[i].name,&h[i].area,&h[i].sum);
flag= Gethouse(h,n);
printf("%s %.2f %.2f\n",h[flag].name, h[flag].area, h[flag].sum);
return 0;
}