ACM编程问题:字符串统计与数字计数
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
本资源是一份名为"acm代码.pdf"的文档,主要包含了两个ACM编程问题的解决方案。以下是这两个问题的详细分析: 1. **字符串统计数字字符** - **问题描述**:该部分题目要求编写程序,给定一个包含字母和数字的字符串,统计其中数字字符(0-9)出现的次数。 - **输入**:输入包括多组测试实例,每组测试实例的第一行为一个整数n,表示字符串的数量,随后是n行字符串。 - **输出**:对于每个字符串,程序需要输出该字符串中的数字字符总数,每行输出一个数字。 **代码实现**: ```c #include<stdio.h> int main(){ int n, i; char st[10000]; scanf("%d", &n); while (n--){ int x = 0; scanf("%s", st); for (i = 0; st[i]; ++i){ if (st[i] >= '0' && st[i] <= '9') x++; } printf("%d\n", x); } return 0; } ``` 这段C语言代码通过`scanf`读取输入的整数和字符串,然后遍历字符串,检查每个字符是否为数字,并累加计数。 2. **计算A+B(英文单词表示的十进制数)** - **问题描述**:此问题要求根据给定的英文单词("one"、"two"等)计算它们所代表的十进制数值相加,输入格式为"A+B=",且数字范围小于100。 - **输入**:测试输入包含多个测试用例,每行表示一个加法表达式,如"one+two=",当遇到"zero+zero="时,表示输入结束。 - **输出**:对每个测试用例,输出计算结果,例如"one"代表1,"two"代表2,以此类推。 **代码实现**: ```c #include<stdio.h> #include<string.h> int cmp(char s[]){ // ...省略了字符串与数字对应关系的比较函数实现... } int main() { char input[100]; while (fgets(input, sizeof(input), stdin)) { if (strcmp(input, "zero+zero=") == 0) break; else { int A = cmp(strtok(input, "+=")); int B = cmp(strtok(NULL, "+=")); printf("%d\n", A + B); } } return 0; } ``` 此处代码利用`fgets`读取输入,通过`strtok`函数分割输入并调用`cmp`函数获取对应的十进制数值,然后进行加法运算,输出结果。 这两个问题涉及的基础知识有字符串处理、输入输出操作以及简单的字符判断,展示了在编程中如何处理字符串中的数字,以及如何将英文单词转换为其对应的数值。在ACM竞赛或日常编程中,这类基础的字符串和数字处理能力是必不可少的。
剩余15页未读,继续阅读
- 粉丝: 0
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储