题目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;
}