编写c程序解决如下问题题目描述 实验班最近在准备购置新的书籍。现在统计出了一份有十本书的书单,但是由于预算有限,必须删掉一本书。大家讨论决定把价格第三高的书删掉,请你找出这本书。 输入描述 第一行是一个整数T(1<=T<=1000),表示有T组数据。接下来的T行,每行有十一个整数,第一个整数表示这是第几组输入数据,接下来的十个整数表示你要处理的十本书的价格。每组数据用空格分隔,书的价格不超过1000。.
时间: 2023-06-15 18:06:56 浏览: 71
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int T, t, prices[10], i, j, temp;
scanf("%d", &T);
for (t = 1; t <= T; t++) {
for (i = 0; i < 10; i++) {
scanf("%d", &prices[i]);
}
for (i = 0; i < 9; i++) {
for (j = 0; j < 9 - i; j++) {
if (prices[j] < prices[j + 1]) {
temp = prices[j];
prices[j] = prices[j + 1];
prices[j + 1] = temp;
}
}
}
printf("Case %d: %d\n", t, prices[2]);
}
return 0;
}
```
代码思路:
1. 首先读入一个整数T,表示有T组数据。
2. 使用for循环遍历每组数据,每组数据包括10个整数,第一个整数表示这是第几组输入数据,接下来的十个整数表示你要处理的十本书的价格。
3. 读入10个整数,保存到数组prices中。
4. 使用冒泡排序算法对prices数组进行排序,找到第三大的数。
5. 输出结果,格式为 "Case x: y",其中x表示当前是第几组数据,y表示第三高的价格。
6. 重复步骤2到步骤5,直到处理完所有的数据。
阅读全文