zoukankan      html  css  js  c++  java
  • 数组--P1980 计数问题

    题目描述

    题解
    试计算在区间 1 到 n的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1到 11中,即在 1,2,3,4,5,6,7,8,9,10,11 中,数字 1 出现了 4 次。

    输入输出格式

    输入格式:

    2个整数n,x之间用一个空格隔开。

    输出格式:

    1个整数,表示x出现的次数。

    输入输出样例

    在这里插入图片描述

    我的实现

    #include <cstdio>
    #include <iostream>
    #include <algorithm>
    #include <cstring>
    #include <cmath>
    using namespace std;
    int main() {
        int ori,num,flag;
        char ch[10]={0};
        scanf("%d%d",&ori,&num);
        for (int i = 1; i <= ori; ++i) {
            sprintf(ch,"%d",i);//数值转化位字符串
            for (int j = 0; j < strlen(ch); ++j) {
                if (int(ch[j]-'0')==num) flag++;
            }
        }
        printf("%d",flag);
        return 0;
    }
    
    

    也可以:

    int main() {
        int ori, num, flag;
        char ch[10] = {0};
        scanf("%d%d", &ori, &num);
        for (int i = 1; i <= ori; ++i) {
            int temp = i;
            while (temp != 0) {
                if (temp % 10 == num) {
                    flag++;
                }
                temp /= 10;
            }
        }
        printf("%d", flag);
        return 0;
    }
    

    学到的点:

    1、 sprintf(,"%d",)将数字转化为字符数组
    2、 数字char转化为数字int:int(ch[j]-'0')
    3、strlen()求字符数组长度
    4、取一个数字的全部位数可以不断求余

  • 相关阅读:
    linux 中的vim的配置文件的位置
    centos find
    multi-cursor
    ctrlsf插件
    Vim的可视模式
    Vim的tagbar插件
    Vim的tag系统
    ~/.ctag的作用与配置
    在Vim里使用gtags-cscope
    查看Vim的option变量的值
  • 原文地址:https://www.cnblogs.com/sunqiangstyle/p/10312292.html
Copyright © 2011-2022 走看看