水果筛选(结构体)

【问题描述】水果信息:种类,产地,重量,等级。其中,等级是根据重量大于等于100为A,小于100为B.

                    按水果种类将不同种类的水果信息分别放入不同数组中(需要动态数组的定义)

                    输出每种水果中重量最大的水果信息。

                    请使用结构体定义水果信息
【输入形式】第一行输入整数n,表示将输入的水果信息数目

                    接下来每行为:种类,产地,重量

【输出形式】输出每种水果中重量最大的水果信息

【样例输入】7

                    orange sichuan 104

                    apple liaoning 110

                    peach shandong 99

                    apple guangdong 90

                    apple liaoning 180

                    peach shandong 77

                    orange fujian 94

【样例输出】orange sichuan 104 A

                    apple liaoning 180 A

                    peach shandong 99 B

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct Fruit
{
    char name[20];
    char area[20];
    int fare;
    char level;

};
int main()
{
    int num = 0, a[10] = { 0 }, p = 0, i = 0, j = 0;
    scanf("%d", &num);
    struct Fruit* Fruits = (struct Fruit*)malloc(num * sizeof(struct Fruit));
    for (i = 0; i < num; i++)
    {
        scanf("%s%s%d", Fruits[i].name, Fruits[i].area, &Fruits[i].fare);
        if (Fruits[i].fare >= 100)
        {
            Fruits[i].level = 'A';
        }
        else
        {
            Fruits[i].level = 'B';
        }
    }
    for (i = 0; i < num; i++)
    {
        p = i;
        for (j = 0; j < num; j++)
        {
            if ((strcmp(Fruits[i].name, Fruits[j].name) == 0) && (Fruits[i].fare < Fruits[j].fare))
            {
                p = j;
            }
        }

        if (a[p] != 1)
        {
            printf("%s %s %d %c\n", Fruits[p].name, Fruits[p].area, Fruits[p].fare, Fruits[p].level);
            a[p] = 1;
        }

    }
    return 0;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值