展开全部
先说比较的方法,是将元素与它后面的元素分别比较,看有没有相等的,因此
a[0] 与 a[1]~a[9]比较
a[1]与 a[2]~a[9]比较,注意,此处a[1]无需再与a[0]比较,对应第二处错误
大概有以下几个错误:
1.for(i=0; i<N; i++) // for(i=0; i<N-1; i++),由于最后面一个已经不需要比较了,所以比较到倒数第二个,即a[N-2];
2.for(j=0; j<N; j++) // for(j=i+1; j<N; j++),解释在上面
3.if( a[ i ] = a[ j ] ) // if( a[ i ] == a[ j ] )//符号错误 '='是赋值语句,用‘=’的话条件会一直成立,‘==’相等比较,成立值是1,不成立是0
4.if(isyes==1)printf("NO\n") //if(isyes ==0) ,题目要求是有相等的输出NO,没有的输出0,程序中有相等的isyes =0,对应的应该输出NO,因此要改为isyes==0;
写程序楼主自己要多琢磨,很有意思的,祝你进步!
a[0] 与 a[1]~a[9]比较
a[1]与 a[2]~a[9]比较,注意,此处a[1]无需再与a[0]比较,对应第二处错误
大概有以下几个错误:
1.for(i=0; i<N; i++) // for(i=0; i<N-1; i++),由于最后面一个已经不需要比较了,所以比较到倒数第二个,即a[N-2];
2.for(j=0; j<N; j++) // for(j=i+1; j<N; j++),解释在上面
3.if( a[ i ] = a[ j ] ) // if( a[ i ] == a[ j ] )//符号错误 '='是赋值语句,用‘=’的话条件会一直成立,‘==’相等比较,成立值是1,不成立是0
4.if(isyes==1)printf("NO\n") //if(isyes ==0) ,题目要求是有相等的输出NO,没有的输出0,程序中有相等的isyes =0,对应的应该输出NO,因此要改为isyes==0;
写程序楼主自己要多琢磨,很有意思的,祝你进步!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询