一、题目
二、解题
1.题目
计算一个数列中有多少个不同的数分别出现过。
-
首先,从标准输入中读入一个整数n表示数列的长度。然后使用一个循环读入数列的n个元素到数组a中,并记录下不同的元素的数量。
-
具体地,使用一个变量res来记录不同的元素的数量,初始值为1(因为第一个元素肯定是不同的)。然后从第二个元素开始循环,如果当前元素a[i]不等于上一个元素a[i-1],说明遇到了新的不同的元素,此时res加1。最后输出res。
2.代码
dev c++ 5.11
//201509-1 数列分段
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=1005;
int a[N];
int main(){
int n;
cin>>n;
int res=1;
for(int i=0;i<n;i++){
cin>>a[i];
if(i&&a[i]!=a[i-1]) res++;
}
cout<<res;
return 0;
}
3.提交结果
总结
注意边界的处理。
if(i&&a[i]!=a[i-1]) res++;