本文目录一览:
- 1、C语言, 统计数组每个元素个数怎么做?
- 2、请问怎么用C语言统计一个数组中不同元素它们重复的个数啊?
- 3、c语言:编程统计数组a中的正数,0,负数的个数,并输出统计结果?
- 4、C语言 统计数组每个元素个数
- 5、C语言字符数组统计
C语言, 统计数组每个元素个数怎么做?
我没有随机种子函数,这样效果明显。所产生的随机数的范围你可以改变。
#includestdio.h
#includestdlib.h
main()
{
int a[100],b[100],c[100]={0},i,j;
//a数组放随机数
//b数组放是否被统计的标志,1未统计,0已统计
//c数组放对应a数组中随机数出现的次数
for(i=0;i100;i++)
{
a[i]=rand()%21;//产生0~20的随机数
b[i]=1;//未统计
printf("%5d",a[i]); //打印a数组的值
if((i+1)%10==0) //一行打印10个数
printf("\n");
}
printf("\n");
for(i=0;i100;i++)
{
if(b[i]) //若a[i]未被统计
{
c[i]++; //次数加1
for(j=i+1;j100;j++)//从下一个开始向后查找
if(a[j]==a[i]) //若相等
{
c[i]++; //则次数增1
b[j]=0; //改为已统计
}
}
}
for(i=0,j=1;i100;i++)
{
if(c[i]) //若某随机数出现了,则打印其值和出现次数
printf("%3d:%5d 出现 %3d次\n",j++,a[i],c[i]);
}
}
请问怎么用C语言统计一个数组中不同元素它们重复的个数啊?
用C语言统计一个数组中不同元素重复的个数:
public class Test {
public int count(int[] array) {
int len = array.length;
for (int i = 0; i array.length - 1; i++) {
for (int j = i + 1; j array.length; j++) {
int num = array[i];
if (array[j] == num) {
// 重复,数组总长度减1
len--;
i++;
}
}
}
return len;
}
public static void main(String[] args) {
// 测试数据:总共是9个不同的元素,按照升序排好,其中有重复出现的元素。
int[] array = new int[] { 1, 1, 2, 2, 2, 3, 4, 5, 5, 6, 7, 7, 8, 9 };
System.out.println(new Test().count(array));
}
}
扩展资料:
C程序中函数特性
C程序中函数的数目实际上是不限的,一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名的函数,这个函数称为主函数,整个程序从这个主函数开始执行。
函数内部究竟是如何工作的,外部程序是不知道的。外部程序所知道的仅限于输入给函数什么以及函数输出什么。函数提供了编制程序的手段,使之容易读、写、理解、排除错误、修改和维护。
参考资料来源:百度百科—c语言
c语言:编程统计数组a中的正数,0,负数的个数,并输出统计结果?
修改如下:
#include "stdio.h"
int main()
{int s[40],i=0,j,num=0,a=0,b=0,c=0;
for (i=0;i40 (scanf("%d",s[i])!=EOF);i++ )//当i40且没有结束输入的时候,循环
//结束输入,你要按ctrl+z+回车
{
num++;
}
for(j=0;jnum;j++)
{if (s[j]0) a++;else if (s[j]==0) b++;else c++;}
printf("数组a中正数有%d个,0有%d个,负数%d个",a,b,c);
}
C语言 统计数组每个元素个数
我没有随机种子函数,这样效果明显。所产生的随机数的范围你可以改变。
#includestdio.h
#includestdlib.h
main()
{
int a[100],b[100],c[100]={0},i,j;
//a数组放随机数
//b数组放是否被统计的标志,1未统计,0已统计
//c数组放对应a数组中随机数出现的次数
for(i=0;i100;i++)
{
a[i]=rand()%21;//产生0~20的随机数
b[i]=1;//未统计
printf("%5d",a[i]); //打印a数组的值
if((i+1)%10==0) //一行打印10个数
printf("\n");
}
printf("\n");
for(i=0;i100;i++)
{
if(b[i]) //若a[i]未被统计
{
c[i]++; //次数加1
for(j=i+1;j100;j++)//从下一个开始向后查找
if(a[j]==a[i]) //若相等
{
c[i]++; //则次数增1
b[j]=0; //改为已统计
}
}
}
for(i=0,j=1;i100;i++)
{
if(c[i]) //若某随机数出现了,则打印其值和出现次数
printf("%3d:%5d 出现 %3d次\n",j++,a[i],c[i]);
}
}
C语言字符数组统计
你把a[0-100]全部设置为NULL或者-1,然后在最后那里加个判断条件,不等于NULL或者-1,然后就OK了