• 紫书 习题3-3 数数字(字符函数,常量数组)


    #include <stdio.h>
    #include <string.h>
    
    int main(void)
    {
    
    	int n ;
    
    	//freopen("input.txt" , "r" , stdin);
    	//freopen("output.txt" , "w" , stdout);
    
    	scanf("%d" , &n);
    
    	while(n--)
    	{
    		int N ;
    		int i ;
    		int count[10];
    
    		memset(count , 0 , sizeof(count));
    		scanf("%d" , &N);
    
    		for( i = 1; i <= N ; i++)
    		{
    			int num = i ;
    
    			while(num)
    			{
    				int a = num%10;
    				num /=10;
    				count[a]++; //类似桶排序
    			}
    		}
    
    		for( i =0 ; i< 9 ; i++)
    		{
    			printf("%d " , count[i]);
    		}
    			printf("%d
    " , count[i]);//注意输出格式
    	}
    
    	return 0 ;
    }
    

      

    #include <iostream>   //二维数组打表
    #include <cstring>  
    #include <cstdio>  
    using namespace std;  
    int f[10000][10];  
      
    int main()  
    {  
        memset(f, 0, sizeof(f));  
        for (int i = 1 ; i < 10000 ; ++ i) {  
            for (int j = 0 ; j < 10 ; ++ j)  
                f[i][j] = f[i-1][j];  
            int left = i;  
            while (left) {  
                f[i][left%10] ++;  
                left /= 10;  
            }  
        }  
          
        int t,n;  
        while (~scanf("%d",&t))  
        while (t --) {  
            scanf("%d",&n);  
            for (int i = 0 ; i < 9 ; ++ i)  
                printf("%d ",f[n][i]);  
            printf("%d
    ",f[n][9]);  
        }  
        return 0;  
    }  
    

      

    #include<cstdio>  //打表2
    int c[10000][10];  
        
    int main()  
    {  
        int i, k, t, n;  
        for (i = 1; i < 10000; ++i)  
        {  
            for (k = i; k; k /= 10) ++c[i][k % 10];  
            for (; k < 10; ++k) c[i][k] += c[i - 1][k];  
        }  
        scanf("%d", &t);  
        while (t--)  
        {  
            scanf("%d", &n);  
            for (i = 0; i < 9; ++i)  
                printf("%d ", c[n][i]);  
            printf("%d
    ", c[n][9]);  
        }  
        return 0;  
    }
    

      

  • 相关阅读:
    Java快速教程
    让我们来了解一下:操作系统和平台相关性
    初窥Linux 之 我最常用的20条命令
    ES6学习笔记一
    Data时间管理大全
    generator多返回值写法
    箭头函数=>
    闭包
    高阶函数:map/reduce
    函数方法that与apply
  • 原文地址:https://www.cnblogs.com/Roni-i/p/7198365.html
Copyright © 2020-2023  润新知