效果实现:
题目分析:
- 键盘输入5行数据,每行数据都有三个具体的数据。
- 可以利用冒泡算法对点击率进行降序排序。
代码分析:
- 定义一个歌单结构体。
- 在主函数中实现歌曲录入、冒泡算法以及打印输出的操作。
代码实现:
# include <iostream>
# include <string>
# define MAX 5
using namespace std;
struct Music_Detail
{
char M_Name[50]; //歌名
char M_Singer[20]; //歌手
int M_Ctr; //点击率
};
int main()
{
Music_Detail M_List[MAX];
for (int i = 0; i < MAX; i++) //歌曲录入
cin >> M_List[i].M_Name >> M_List[i].M_Singer >> M_List[i].M_Ctr;
for (int i = 0; i < MAX - 1; i++) //降序的冒泡算法
for (int j = 0; j < MAX - 1 - i; j++)
{
if (M_List[j].M_Ctr < M_List[j + 1].M_Ctr)
{
Music_Detail temp = M_List[j]; //交换的值需要包含整个结构体
M_List[j] = M_List[j + 1];
M_List[j + 1] = temp;
}
}
cout << endl;
for (int i = 0; i < 5; i++) //打印输出
cout << M_List[i].M_Name << " " << M_List[i].M_Singer << " " << M_List[i].M_Ctr << endl;
system("pause");
return 0;
}
好啦,今天的程序到此结束,欢迎大家在评论区留言~