Sy_Faker
2019-11-23 18:35
采纳率: 77.3%
浏览 615

PTA:查找书籍,运行输入不到所定个数

给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。

输入格式:

输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。

输出格式:

在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。

输入样例:

3

Programming in C

21.5

Programming in VB

18.5

Programming in Delphi

25.0

输出样例:

25.00, Programming in Delphi

18.50, Programming in VB
程序清单:

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    struct book
    {
        float price;
        char a[30];
    };
    char a[30];int i,k,maxi,mini;struct book b[n];
    for(i=0;i<n;i++)
    {   for(k=0;;k++)
        {
            b[i].a[k]=getchar();
            if(b[i].a[k]=='\n')break;
        }
        scanf("%f",&b[i].price);
    }
    for(i=0;i<n-1;i++)
    {
        if(b[i].price> b[i+1].price)
        {
            maxi=i;mini=i+1;
        }
    }
    printf("%.2f,%s\n",b[maxi].price,b[maxi].a);
    printf("%.2f,%s",b[mini].price,b[mini].a);
    return 0;
}

本人第一次使用结构体数据,请多指教~
结果图片说明

输入到vb按回车之后就跳转出输出了。达不到运行要求结果,求助~

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • blownewbee 2019-11-30 00:15
    已采纳
    #include<stdio.h>
    struct book
    {
        float price;
        char a[30];
    };
    int main()
    {
        int n;
        scanf("%d",&n);
    
        char a[30];
        int i,k,maxi=0,mini=0;
        book b[10];
        for(i=0;i<n;i++)
        {
            fflush(stdin);
            for(k=0;;k++)
            {
                b[i].a[k]=getchar();
                if(b[i].a[k]=='\n')
                {
                    b[i].a[k] = '\0';
                    break;
                }
            }
            scanf("%f",&b[i].price);
        }
        for(i=1;i<n;i++)
        {
            if(b[i].price>b[maxi].price)
            {
                maxi=i;
            }
            if(b[i].price<b[mini].price)
            {
                mini=i;
            }
        }
        printf("%.2f,%s\n",b[maxi].price,b[maxi].a);
        printf("%.2f,%s",b[mini].price,b[mini].a);
        return 0;
    }
    
    
    点赞 打赏 评论

相关推荐 更多相似问题