C语言 A3—统计数组元素出现的次数并且输出结果
参考代码:有两种办法
方法一、
#include<stdio.h>
int main(void)
{
int data[50],num,i;
/*--------1.循环输入数据,并算出有效空间---------*/
for(i=0;i<50;i++)//循环输入数值
{
scanf("%d",&data[i]);
if(data[i] == -1)
{
data[i] = 0;//当输入-1时,是无效值,所以清零
i--;//计算出数组有效数值的最大下标
break;
}
}
printf("数组最大下标是:%d\n",i);
/*--------2.把数组进行排序,相同数值的排在一起(以数值的大小为标准可以选出)---------*/
for(int j=0;j<=i;j++)//排序肯定要用到两个for,第一层是按顺序逐个检验
{
for(int k=j+1;k<=i;k++)//第二个for是在第一个for上跟后面的元素逐个进行对比
{
if(data[j]>=data[k])//将两个数值进行数值互换的三种方法之一,异或法
{
data[j] = data[j]^data[k];
data[k] = data[j]^data[k];
data[j] = data[j]^data[k];
}
}
printf("%d",data[j]);
}
printf("\n");
/*------------3.计算出相邻元素的相同个数---------*/
num = 1;
for(int j=0;j<