
ACM编程问题:字符串统计与数字计数
版权申诉
164KB |
更新于2024-07-08
| 155 浏览量 | 举报
收藏
本资源是一份名为"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竞赛或日常编程中,这类基础的字符串和数字处理能力是必不可少的。
相关推荐










m0_64339726
- 粉丝: 0
最新资源
- JavaScript操作XML: DOM对象技巧与代码整理
- 精通Div和CSS:第6课学习表格与表单样式设置
- Javascript基础教程:入门到实例提高
- Linux AS3环境配置Weblogic教程
- 掌握JSP编程:实用教材与实例解析
- Java邮件开发必备:Beans Activation Framework解析
- VB编程实用示例教程集锦
- EyeGuard_20:电脑工作者的护眼软件
- 透明屏锁工具:美观实用的锁屏软件
- SQLServer驱动jar包详解与配置指南
- JMail应用功能及接口详细教程(PDF)
- ASP.NET 2.0快速入门教程:英文版电子书介绍
- Flex开发实战:MXML与ActionScript的应用与优势
- 在线影院网站源代码解构与使用指南
- AT89S51单片机实用教程:从零开始的学习指南
- 获取无限制的ComponentArt 2008.1.1085源代码
- 威仕达会员管理系统后台功能及操作指南
- 深入理解KMP算法的C语言实现
- 全面解析JSP技术要点与应用
- 简明Python教程:新手入门的经典指南
- 数据结构全面算法集合与实现解析
- 网络监控与故障排除的Sniffer工具应用指南
- JAVA WEB开发教程第八部分更新及压缩包使用指南
- 五子棋与象棋算法解析:深度体验VC++编程魅力