水题1

来源:互联网 发布:vcd音频提取软件 编辑:程序博客网 时间:2024/06/16 19:31

时间限制1sec 内存限制64MB
题目描述:
实验班最近在准备购置新的书籍。现在统计出了一份有十本书的书单,但是由于预算有限,必须删掉一本书。大家决定把价格第三高的书删掉,请你找出这本书。
输入
第一行是一个整数T (1<=T<=1000),表示有T组数据。接下来的T行,每行有11个整数,第一个整数表示这是第几组输入的数据,接下来的10个整数表示你要处理的十本书的价格。每组数据用空格分隔,书的价格不超过1000
输出
对每组输入数据,输出它的组号和第三高的价格,用空格分隔。
样例输入
3
1 1 2 3 4 5 6 7 8 9 10
2 931 240 986 894 826 640 965 833 136 138
3 940 955 364 188 133 254 501 122 768 408
样例输出
1 8
2 931
3 768

分析
先去重 再排序
代码

#include<cstdio>#include<iostream>#include<algorithm>using namespace std;bool compare(int a,int b){  return a>b;}int main(){    int t,a[10],b[1002],l,n;    cin>>t;    for(int i=0;i<t;i++)    {l=10;    cin>>n;    for(int j=0;j<10;j++)    {    cin>>a[j];    }    sort(a,a+10,compare);    for(int y=0;y<10;y++)    {    if(a[i]==a[i+1])        a[i]=a[i+1];    l--;    }    b[i]=a[2];    for(int m=0;m<10;m++)        a[m]=0;    }    for(int i=0;i<t;i++)        printf("%d %d\n",i+1,b[i]);    return 0;}
原创粉丝点击