zoukankan      html  css  js  c++  java
  • 弱弱的页码问题

    对于一个共有n页的书,它的页码是从1开始编号,一直到n,页码中没有无用的0,则该书的页码分别共用到了多少个0,1,2,3,4,5,6,7,8,9?

    输入:一个数n表示这个书共有多少页,n>=1&&n<=1000000;

    输出:十个数,分别表示0,1,2,3,4,5,6,7,8,9十个数字出现的次数;

    样例:输入:10   输出:1 2 1 1 1 1 1 1 1 1

    程序清单:


    #include <iostream>
    #include <cstdio>   //使用sprintf()函数要调用的头文件
    #include <cstring>  //使用strlen()函数要调用的头文件
    using namespace std;
    int main()
    {
     int n,num[10]={0};//设置一个数组用来存十个数出现的次数,开始一定要初始化为{0}
     char p[8];//因为n的取值范围从1到1000000最大为7位,所以设置一个8位的字符数组
     cin>>n;
     for(int i=1;i<=n;i++)
     {
      sprintf(p,"%d",i);//这个函数的功能是把数字i写入字符数组p;例如i=10时,通过这函数的转换,就变成了字符数组p={10};
      for(int j=0;j<strlen(p);j++)
       num[p[j]-'0']++;//利用了ASC//码,例如’4‘-‘0’;4的ASC//码是52,52-48=4  刚好对应num【4】第四个出现的次数就能统计,从而实现了计数的功能;
     }
     for(int i=0;i<10;i++)
      cout<<num[i]<<" ";
     system("pause");
     return 0;
    }

  • 相关阅读:
    Qt class加载头文件
    Qt 中KeyPressEvent获取不到Key_Space等事件
    如何选择开源许可证?
    C语言实现库函数汇总
    简单背包问题-递归非递归实现
    中点优先顺序遍历数组-递归非递归实现
    稀疏矩阵十字链表表示
    稀疏矩阵线性表示
    KMP模式匹配
    双向链表
  • 原文地址:https://www.cnblogs.com/iris-yx/p/3391427.html
Copyright © 2011-2022 走看看