給定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
個人思路:
本人采用的是定義結構體外加qsor來找最大值和最小值1
#include<stdio.h>
#include<string.h>struct shuji
{char name[100];double money;
};
int cmp(const void* p1, const void* p2)
{return ((struct shuji*)p1)->money - ((struct shuji*)p2)->money;
}
int main()
{int n;scanf("%d", &n);struct shuji arr[n];getchar();for (int i = 0; i < n; i++){gets(arr[i].name);scanf("%lf", &arr[i].money);getchar();//printf("%s\n", arr[i].name);//printf("%.2lf\n", arr[i].money);}qsort(arr, n, sizeof(arr[0]), cmp);printf("%.2lf, %s\n",arr[n-1].money,arr[n-1].name);printf("%.2lf, %s\n",arr[0].money,arr[0].name);}
?