数组统计c语言,数组计算c语言

发布时间:2022-11-24

本文目录一览:

1、C语言, 统计数组每个元素个数怎么做?
2、请问怎么用C语言统计一个数组中不同元素它们重复的个数啊?
3、c语言:编程统计数组a中的正数,0,负数的个数,并输出统计结果?
4、C语言 统计数组每个元素个数
5、C语言字符数组统计

C语言, 统计数组每个元素个数怎么做?

我没有随机种子函数,这样效果明显。所产生的随机数的范围你可以改变。

#include<stdio.h>
#include<stdlib.h>
main()
{
    int a[100],b[100],c[100]={0},i,j;
    //a数组放随机数
    //b数组放是否被统计的标志,1未统计,0已统计
    //c数组放对应a数组中随机数出现的次数
    for(i=0;i<100;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;i<100;i++)
    {
        if(b[i]) //若a[i]未被统计
        {
            c[i]++; //次数加1
            for(j=i+1;j<100;j++)//从下一个开始向后查找
                if(a[j]==a[i]) //若相等
                {
                    c[i]++; //则次数增1
                    b[j]=0; //改为已统计
                }
        }
    }
    for(i=0,j=1;i<100;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;i<40 && (scanf("%d",s[i])!=EOF);i++ )//当i<40且没有结束输入的时候,循环
    //结束输入,你要按ctrl+z+回车
    {
        num++;
    }
    for(j=0;j<num;j++)
    {
        if (s[j]>0) a++;
        else if (s[j]==0) b++;
        else c++;
    }
    printf("数组a中正数有%d个,0有%d个,负数%d个",a,b,c);
}

C语言 统计数组每个元素个数

我没有随机种子函数,这样效果明显。所产生的随机数的范围你可以改变。

#include<stdio.h>
#include<stdlib.h>
main()
{
    int a[100],b[100],c[100]={0},i,j;
    //a数组放随机数
    //b数组放是否被统计的标志,1未统计,0已统计
    //c数组放对应a数组中随机数出现的次数
    for(i=0;i<100;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;i<100;i++)
    {
        if(b[i]) //若a[i]未被统计
        {
            c[i]++; //次数加1
            for(j=i+1;j<100;j++)//从下一个开始向后查找
                if(a[j]==a[i]) //若相等
                {
                    c[i]++; //则次数增1
                    b[j]=0; //改为已统计
                }
        }
    }
    for(i=0,j=1;i<100;i++)
    {
        if(c[i]) //若某随机数出现了,则打印其值和出现次数
            printf("%3d:%5d 出现 %3d次\n",j++,a[i],c[i]);
    }
}

C语言字符数组统计

你把a[0-100]全部设置为NULL或者-1,然后在最后那里加个判断条件,不等于NULL或者-1,然后就OK了