问题描述
给你n个数,找出与众不同的那一个
输入
输入一个数n(3<=n<=1000),接下来输入n个数,数据保证这n个数中刚好有n-1个数相同,且每个数的绝对值都不大于1000000
输出
输出那个“另类”的数文章来源:https://www.toymoban.com/news/detail-806285.html
样例输入
6
5 5 5 1 5 5
样例输出
1
问题分析
此题目给了我们n个数,要我们找出其中的一个不相同的数,也就是n个数中有n-1个数是同一个数,1个是不同的数。我能想到两种方法解决此问题:文章来源地址https://www.toymoban.com/news/detail-806285.html
- 采用暴力枚举,寻找不同的数,这一种方法的代码就不给出了。
- 采用记录的方式寻找指定的数,因为只有两个数,所以在输入的时候就记录一下每一个数字出现的次数,出现次数为1的那个数就是我们要找的数。
代码
#include<stdio.h>
struct num{
int num;
int count;
};
int main(){
int n, numx;
struct num num1 = {0, 0}, num2= {0, 0};
scanf("%d", &n);
scanf("%d", &numx);
num1.num = numx;
num1.count += 1;
for(int i = 1; i < n; i++){
scanf("%d", &numx);
if(numx == num1.num){
num1.count += 1;
}else{
num2.num = numx;
num2.count += 1;
}
}
if(num1.count == 1){
printf("%d", num1.num);
}else{
printf("%d", num2.num);
}
return 0;
}
到了这里,关于1206: Water problem的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!