zoukankan      html  css  js  c++  java
  • c 语言统计数字

    //把前n(n<10000)个整数顺次写在一起:12345678910111213141516....数一数0至9出现的次数
    //输出10个整数,分别是0,1,2..至9出的个数
    //解题思路:分别统计每一个数中的每一位的数 并判断其每一位的值
    #include<stdio.h>
    #include<string.h>
    const int maxn= 10001;
    int cD[maxn][10];
    int main(){
        int b=0;
        //置零
        memset(cD,0,sizeof(cD));
        //遍历数组每一位
        for(int i=0;i<=10000;i++){
            b=i;
            //循环每一个数字的每一位
             for(;;){
                //统计每一个数字中的每一位的数字情况
                for(int j=0;j<10;j++){
                    //最后一位的数字
                    if(i%10==j){
                        cD[i][j]++;
                        break;
                    }
                }
                //数字减少一位
                b/=10;
                //跳出循环
                if(b==0)
                    break;
             }
        }
        int n;
        scanf("%d",&n);
        //统计输出结果
        for(int j=0;j<10;j++){
                int sum=0;
            for(int i=1;i<=n;i++){
                sum+=cD[i][j];
            }
            printf("%d: %d ",j,sum);

        }
        return 0;
    }

  • 相关阅读:
    c++ 容器学习 理论
    TCP和UDP发送数据包的大小问题
    key.go
    election.go
    watch.go
    txn.go
    sort.go
    retry.go
    op.go
    maintenance.go
  • 原文地址:https://www.cnblogs.com/qingtianBKY/p/6599758.html
Copyright © 2011-2022 走看看