/***************************************************************************
呵呵,终于把它作出来了,虽然简陋些,算法也很普通,
但终究是自己的作品,也达到了楼主的要求,也通俗易懂。
如有不对的地方,希望大家指出来,谢谢。
也不知道我的这个时间复杂度是多少呢?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
今天发生了很不好的事情,但对于我也许是种激励。因为虽然
听到了很偏激的声音,说明我平时做得很不好,有许多不足之处。
但也看到了许多支持我、鼓励我的朋友。
在此谢过众位了,对我有好感的,对我厌恶的。都谢谢了。
***************************************************************************/
#include<stdio.h>
#include<string.h>
#define N 10000
void px(char a[],int n)
{
char c;
int i,j;
for(i=0;i<n;++i)
for(j=i+1;j<n;++j)
if(a[i]<a[j])
{
c=a[i];
a[i]=a[j];
a[j]=c;
}
}
int main(void)
{
char a[N];/*用于输入待检查的数据*/
int i,j,n,k;
printf("下面输入数据,enter结束输入:\n");
gets(a);
/*输入数据*/
n=strlen(a);
px(a,n);
/*排序*/
puts(a);
for(i=0;i<n;++i)
{
k=0;
for(j=i;j<n;++j)
if(i!=j&&a[i]==a[j])
/*当遇到相同数据时*/
{
++i;
++k;
}
if(k>0)
/*当k值大于0,说明有相同数据,并输出*/
printf("\n共有%d个相同的%c.\n",k+1,a[i]);
}
if(k==0)
/* 当k值为0时,说明没有相同数据。*/
printf("没有相同的数据.\n");
system("pause");
return 0;
}
.................................................................
请问在
以上程序
一个数组中无论存在多少个相同的元素 它都可以 判断出?