输入的第一行为测例个数t
第二行为给定数组元素个数n
第三行为各数组的各个元素
样例输入
2
10
1 3 4 5 2 1 3 6 5 3
4
5 3 1 5
样例输出
6
3
我的想法的先把数组排序,然后再历遍数组,元素不同就加一
但是我运行的时候只有一组排序,我不懂我代码要怎么改
#include<stdio.h>
int main(){
int t,i,j,n,k,ans=1;
int a[200];
scanf("%d",&t);
for(i=1;i<=t;++i)
{
scanf("%d",&n);
for(i=0;i<n,++i)
{
scanf("&d",&a[i]);
}
for(i=0;i<n-1;++i) //排序
{
for(j=i+1;j<n;++j)
{
k=a[i];
if(a[i]>a[j])
{
a[i]=a[j];
a[j]=k;
}
}
}
for(i=0;i<n-1;++i)
{
if(a[i]!=a[i+1])
ans++;
}
printf("%d\n",ans);
}
return 0;
}