c语言一个数组中重复的数字
#includestdio.h
int main(void)
{
int i, n, a[100];
int j, temp;
printf(“输入元素的个数:”);
scanf(“%d”, n);
for (i = 0; i n; i++)
scanf(“%d”, a[i]);//循环输入n个数
for (i = 0; i n; i++)//循环判断数组中每一个数
{
for (j = i + 1; j n; j++)//判断a[i]后边的数是否和a[i]相等
{
if (a[i] == a[j])
{
for (temp = j; temp n; temp++)
a[temp] = a[temp + 1];//将a[j]后面的元素全往前移一个位置
j–;//a[j+1]取代a[j]位置,为使下次从a[j+1]开始查找,j减一(为使j保持不变)
n–;//数组长度减一
}
}
}
printf(“剩余元素个数: %d\n”, n);
for (i = 0; i n; i++)
printf(“%d “, a[i]);
printf(“\n”);
return 0;
}
请问怎么用C语言统计一个数组中不同元素它们重复的个数啊?
用C语言统计一个数组中不同元素重复的个数:
publicclassTest{
publicintcount(int[]array){
intlen=array.length;
for(inti=0;iarray.length-1;i++){
for(intj=i+1;jarray.length;j++){
intnum=array[i];
if(array[j]==num){
//重复,数组总长度减1
len–;
i++;
}
}
}
returnlen;
}
publicstaticvoidmain(String[]args){
//测试数据:总共是9个不同的元素,按照升序排好,其中有重复出现的元素。
int[]array=newint[]{1,1,2,2,2,3,4,5,5,6,7,7,8,9};
System.out.println(newTest().count(array));
}
}
扩展资料:
C程序中函数特性
C程序中函数的数目实际上是不限的,一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名的函数,这个函数称为主函数,整个程序从这个主函数开始执行。
函数内部究竟是如何工作的,外部程序是不知道的。外部程序所知道的仅限于输入给函数什么以及函数输出什么。函数提供了编制程序的手段,使之容易读、写、理解、排除错误、修改和维护。
参考资料来源:百度百科—c语言
找一个数组中最多相同的数的值,及它相同的次数。用C语言哈。谢谢了 !!
很简单,不过我不知道你数组a中的数据是怎么定义的,全是整数?上下限是多少,如果下限是0或者0以上的,上限不是很大的话。可以用数组来实现,比如有一个数组b,下标 为数组a中的值,每个值为出现的次数。
比如b[i]=num,表示i出现了num次。
实现的代码也很简单。
//初始化数组b全部为0
for(i=0; in; i++)
{
b[a[i]]++;
}
这样就可以了,直接找数组b中的最大值,就是出现次数,下表为出现的值。