挑选面积最大的卡片

试题描述

   乐乐在幼儿园认识了长方形,回到家里立刻翻出红色、绿色、黄色……等不同颜色的N张卡纸,用每张卡纸分别剪出了一个端端正正的长方形卡片。这N个长方形长短不一。乐乐想在其中一个卡片上粘贴老师奖励的小红花,可是乐乐不知道哪张长方形卡片面积最大,可以粘贴所有的小红花。 
   请你定义卡片的结构体类型,内含三个数据成员:颜色、长、宽。 
   并将输入的N个卡片信息存入结构体数组中。然后从这N张长方形卡片中挑选出面积最大的卡片,输出其颜色信息。 
   假定:面积最大的卡片只有一张。

输入

   输入包含N + 1行: 
   第一行是正整数N。 
   第二行到第N + 1行,每行都有如下三项,邻近两项之间用一个空格隔开。 
   1)一个不含空白符的卡片颜色字符串(不超过9个字符)。 
   2)一个int范围内的正整数(卡片长度)。 
   3)一个int范围内的正整数(卡片宽度)。

输出

   输出面积最大的卡片的颜色。

输入示例

   5 
   red 12 8 
   green 5 18 
   yellow 11 9 
   blue 7 15 
   white 4 24

输出示例

   blue

数据范围

   输入为int范围内的整数和字符串,输出为字符串,对于100%的数据,1 < N < 20

参考代码

#include<stdio.h>
#include<string.h>
struct card
{
	char str[10];
	int a,b;
}m[999];

int main()
{
	char mstr[10];
	int N,max=0;
	scanf("%d",&N);
	for(int i=0;i<N;i++)
	{
		scanf("%s%d%d",m[i].str ,&m[i].a,&m[i].b);
		if(m[i].a * m[i].b > max)
		{
			max =m[i].a * m[i].b;
			strcpy(mstr,m[i].str);
		}
	}
	printf("%s",mstr);
	return 0;
}
Code language: PHP (php)

留下评论