当前位置: 首页 > news >正文

函数题 6-9 统计个位数字【PAT】

文章目录

  • 题目
    • 函数接口定义
    • 裁判测试程序样例
    • 输入样例
    • 输出样例
  • 题解
    • 解题思路
    • 完整代码
    • AC代码

编程练习题目集目录

题目

  要求实现一个函数,可统计任一整数中某个位数出现的次数。例如 − 21252 -21252 21252 中, 2 2 2 出现了 3 3 3 次,则该函数应该返回 3 3 3

函数接口定义

int Count_Digit ( const int N, const int D );

  其中N和D都是用户传入的参数。 N N N 的值不超过 i n t int int 的范围; D D D [ 0 , 9 ] [0, 9] [0,9] 区间内的个位数。函数须返回 N N N D D D 出现的次数。

裁判测试程序样例

#include <stdio.h>
int Count_Digit(const int N, const int D);
int main()
{int N, D;scanf("%d %d", &N, &D);printf("%d\n", Count_Digit(N, D));return 0;
}
/* 你的代码将被嵌在这里 */

输入样例

-21252 2

输出样例

3

题解

解题思路

  判断传进数组的 N N N,如果 N = 0 N = 0 N=0 直接返回 1 1 1;如果 N < 0 N < 0 N0,先将 N N N 变为整数(乘以 − 1 -1 1 或者用 a b s abs abs 函数);创建一个数组用来存储 0 − 9 0-9 09 的数字个数,并初始化为 0 0 0,对非 0 0 0 N N N 进行求模取余,将每一位数对应的个数存进数组,返回数组中的第 D D D 个数字即可。

完整代码

#include <math.h>
#include <stdio.h>int Count_Digit ( const int N, const int D );int main()
{int N, D;scanf("%d %d", &N, &D);printf("%d\n", Count_Digit(N, D));return 0;
}/* 你的代码将被嵌在这里 */
int Count_Digit(const int N, const int D)
{int x, n = fabs(N), flag[10] = { 0 };if (n == 0){return 1;}while (n){x = n % 10;n /= 10;flag[x]++;}return flag[D];
}

AC代码

int Count_Digit(const int N, const int D)
{int x, n = N, flag[10] = { 0 };if (n == 0)return 1;if (n < 0)n *= -1;while (n){x = n % 10;n /= 10;flag[x]++;}return flag[D];
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • c++206 友元类
  • DC-DC降压10A电源降压可调模块24V转12V9V5V3V-AH1514芯片
  • 龙蜥anolis8.9安装hadoop3.3.6伪分布环境
  • 从Prompt到创造:解锁AI的无限潜能
  • 京东商品详情的 API 探秘与应用
  • p14 使用阿里云服务器的docker部署NGINX
  • 艾迈斯欧司朗亮相2024 CIOE,多款创新产品引领光电新潮
  • 开发小程序
  • 【软件测试】认识测试
  • 架构理论碰撞:对比TOGAF、Zachman、DODAF和FEAF等主流架构框架
  • 【搜索算法】以扩召回为目标,item-tag不如query-tag能扩更多数量
  • 堆排序,快速排序
  • 【系统架构设计师】特定领域软件架构(经典习题)
  • Java多线程3
  • 完结马哥教育SRE课程--服务篇
  • angular组件开发
  • avalon2.2的VM生成过程
  • Centos6.8 使用rpm安装mysql5.7
  • Elasticsearch 参考指南(升级前重新索引)
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Java读取Properties文件的六种方法
  • leetcode386. Lexicographical Numbers
  • 今年的LC3大会没了?
  • 强力优化Rancher k8s中国区的使用体验
  • 悄悄地说一个bug
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • Prometheus VS InfluxDB
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • ## 1.3.Git命令
  • (09)Hive——CTE 公共表达式
  • (C++哈希表01)
  • (solr系列:一)使用tomcat部署solr服务
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • ***监测系统的构建(chkrootkit )
  • 、写入Shellcode到注册表上线
  • .Net 6.0 处理跨域的方式
  • .net core控制台应用程序初识
  • .net SqlSugarHelper
  • .NET/C# 的字符串暂存池
  • .NET构架之我见
  • .NET下的多线程编程—1-线程机制概述
  • .net下的富文本编辑器FCKeditor的配置方法
  • ?php echo ?,?php echo Hello world!;?
  • @Transactional事务注解内含乾坤?
  • [].slice.call()将类数组转化为真正的数组
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [20140403]查询是否产生日志
  • [AI aider] 打造终端AI搭档:Aider让编程更智能更有趣!
  • [ANT] 项目中应用ANT
  • [autojs]逍遥模拟器和vscode对接
  • [BIZ] - 1.金融交易系统特点