输入10个整数,输出其中不同的数,即如果一个数出现了多次,只输出一次。
输入格式
输入10个整数
输出格式
依次输出不同的数字(一行一个,从上到下依次输出先出现的数)
输入样例
1 2 1 3 3 2 4 5 5 9
输出样例
1
2
3
4
5
9
注意题目的要求,除了要求是只输出重复数字中的一个
之外,观察输出样例,我们可以发现他是根据先后的顺序,将不同的数字输出的
。
所以,应该是判断当前下标的前面是否含有这这个下标对应的值,如果含有,就不输出,否则输出这个下标的值。
#include<stdio.h>
int main(){
int arr[10],i,j,con = 0;//con表示当前下标的前面是否含有和这个下标对应的值相同
for(i = 0; i < 10; i++){
scanf("%d",&arr[i]);
}
for(i = 0; i < 10; i++){
con = 0;
for(j = i - 1; j >= 0; j--){
//判断这个下标i的前面是否含有和i对应的值相同,如果含有,那么con为1,并退出循环
if(arr[i] == arr[j]){
con = 1;
break;
}
}
if(!con)//如果这个下标的前面没有和这个下标对应的数相同,那么就将这个数字输出,从而保证了按照原来数组先后顺序将不同的数字输出
printf("%d\n",arr[i]);
}
return 0;
}
运行结果: