7-8 查找单价最高和最低的书籍 (10分)

编写程序,从键盘输入 n (n<10)本书的名称和定价并存入结构数组中,查找并输出其中定价最高和最低的书的名称和定价。

输出格式语句:

printf(“highest price: %.1f, %s\n”, );

printf(“lowest price: %.1f, %s\n”,);

输入输出示例:括号内为说明,无需输入输出
输入样例:
3 (n=3)
Programming in C
21.5
Programming in VB
18.5
Programming in Delphi
25
输出样例:
highest price: 25.0, Programming in Delphi
lowest price: 18.5, Programming in VB

#include 
using namespace std;
struct book
{
    char sm[1000];
    float jz;
}xx[100];
int main()
{
    int n;
    cin >> n;
    getchar();
    int h = 0;
    for(int i = 0; i < n; i++)
    {
        fgets(xx[i].sm, 100, stdin);
        scanf("%f", &xx[i].jz);
        getchar();
    }
    for(int i = 0; i < n - 1; i++)
        for(int j = 0; j < n - i - 1; j++)
        {
            if(xx[j].jz >xx[j + 1].jz)
            {
                double temp;
                char cg[100];
                temp = xx[j].jz;
                xx[j].jz = xx[j + 1].jz;
                xx[j + 1].jz = temp;
                strcpy(cg, xx[j].sm);
                strcpy(xx[j].sm, xx[j + 1].sm);
                strcpy(xx[j + 1].sm, cg);
            }
        }
    printf("highest price: %.1lf, %s", xx[n - 1].jz, xx[n - 1].sm);
    printf("lowest price: %.1lf, %s", xx[0].jz, xx[0].sm);
}

你可能感兴趣的:(c语言)