网站模板 婴儿,甘肃高端建设网站,网站变灰,WordPress图片变模糊描述 ACM队的“C小加”同学想在学校中请一些同学一起做一项问卷调查#xff0c;为了实验的客观性#xff0c;他先用计算机生成了N个1到1000之间的随机整数#xff08;0 N≤100#xff09;#xff0c;对于其中重复的数字#xff0c;只保留一个#xff0c;把其余相同…描述 ACM队的“C小加”同学想在学校中请一些同学一起做一项问卷调查为了实验的客观性他先用计算机生成了N个1到1000之间的随机整数0 N≤100对于其中重复的数字只保留一个把其余相同的数去掉不同的数对应着不同的学生的学号。然后再把这些数从小到大排序按照排好的顺序去找同学做调查。请你协助 C小加 完成“去重”与“排序”的工作。 输入 第一行输入整数T1 T10表示多少组测试数据 每组测试数据包括2行 第1行为1个正整数表示所生成的随机数的个数N0 N≤100 第2行有N个用空格隔开的正整数为所产生的随机数。 随机数为题目给定的不需要ACMer生成 输出 输出也是2行第1行为1个正整数M表示不相同的随机数的个数。 第2行为M个用空格隔开的正整数为从小到大排好序的不相同的随机数。 样例输入 1 10 20 40 32 67 40 20 89 300 400 15 样例输出 8 15 20 32 40 67 89 300 400
代码如下
#include stdio.h
#include string.h
int main()
{int a[1001],y,i,x,n,c,k;scanf(%d,n); //这里的n控制n组数据循环while(n--){c0;memset(a,0,sizeof(a)); //这里讲数组a【1001】全部设为0scanf(%d,y); //这里的y控制y个数for(i0; iy; i){scanf(%d,x); //每次输入一个数xif(a[x]1) { //每次c都加一c; //c为有几个重复的数}a[x]1; //将该数组下标即a【x】定义为1} //如果有重复的仍然a【x】为1printf(%d\n,y-c); //y为一共的数c为有个重复的数y-c为几个不重复的数for(i0; i1001; i){if(a[i]1) //输入的数组下标的值都为1其他的都是0{printf(%d ,i); //输出数组下标的值是1的数组}}printf(\n); //换行控制格式的输出}return 0;
}