编写程序,从键盘输入 n (n<10)本书的名称和定价并存入结构数组中,按单价从小到大排序并输出排序后的书籍信息。
输入输出示例:括号内为说明,无需输入输出
输入样例:
3 (n=3)
Programming in C
21.5
Programming in VB
18.5
Programming in Delphi
20
输出样例:
Programming in VB 18.5
Programming in Delphi 20.0
Programming in C 21.5
知识点
学生成绩排序
1.对于结构体的内部的price的排序
bool cmp(book a,book b){
return a.price<b.price;
}
sort(b,b+n,cmp);
2.不要忘了 getchar(); 吸收回车
代码
#include<iostream>
#include<string.h> //getchar()
#include<algorithm> //sort
using namespace std;
struct book{
char name[31];
float price;
}b[10];
bool cmp(book a,book b){
return a.price<b.price;
}
int main(){
int n ; cin>>n;
for(int i=0;i<n;i++)
{
getchar(); //换行用getchar()吸收
//gets(b[i].name);
cin.getline(b[i].name,31);
cin>>b[i].price;
}
sort(b,b+n,cmp);
for(int i=0;i<n;i++){
printf("%s %.1f\n",b[i].name,b[i].price);
}
return 0;
}