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

机考30 翻译24 单词17

题目88:字符串排序

问题描述

明明刚刚开始学英文,对于26个英文字母的顺序总是记不住,每次默写英文字母的时候,顺序总是前后颠倒。明明的爸爸对此相当着急,想有没有很好的办法来帮助明明记住字母的顺序。一天,明明的爸爸突然想到了一个游戏,能够帮助明明记住英文字母。这个游戏如下,给明明一个任意长度的英文字串,其中只包含小写字母,然后让明明对字符串中的字母排序,然后再把排完序的字符串写出来,如果连续写对10次的话,明明的爸爸就会奖励他,带他出去吃KFC。 例如:有一个字符串为asdf,经过排序后的字符串就是adfs。 明明显然对这个游戏非常感兴趣(其实明明更感兴趣的是那顿KFC),接受了他爸爸的提议,玩起了这个游戏。但是明明的爸爸在出题目考明明的时候,自己却犯了难,用英文随便写出一个无序的英文字符串是很简单的,但是排序的话却要费一些功夫,而且还不能出错,否则就无法知道明明做的对不对了。于是明明的爸爸请你帮忙,帮他写一个排序程序,来输出排序后的字符串。

明明爸爸的问题可以归结为:输入一行字符串,全部由小写字母构成,对字符串按26个英文字母的先后顺序进行排序,然后输出。

输入说明

你写的程序要求从标准输入设备中读入测试数据作为你所写程序的输入数据。标准输入设备中有多组测试数据,每组测试数据仅占一行,每行由一个字符串组成,字符串中只包含小写字母,字符串的长度不超过100个字符。每组测试数据与其后一组测试数据之间没有任何空行,第一组测试数据前面以及最后一组测试数据后面也都没有任何空行。

输出说明

对于每一组测试数据,你写的程序要求计算出一组相应的运算结果,并将这一组运算结果作为你所写程序的输出数据依次写入到标准输出设备中。每组运算结果为一个排序后的字符串。每组运算结果单独形成一行数据,其行首和行尾都没有任何空格,每组运算结果与其后一组运算结果之间没有任何空行,第一组运算结果前面以及最后一组运算结果后面也都没有任何空行。

总结:

使用选择排序对字符串进行排序;printf("%s\n", str) 直接输出整个字符串,不需要遍历字符数组一个一个进行输出

#include <stdio.h> #include <string.h> int main(){ char str[201]; while(fgets(str, sizeof(str), stdin) != NULL){ str[strcspn(str, "\n")] = '\0'; int len = strlen(str); for(int i = 0; i < len - 1; i++){ for(int j = i + 1; j < len; j++){ if(str[i] > str[j]){ char temp = str[i]; str[i] = str[j]; str[j] = temp; } } } printf("%s\n", str); } return 0; }

题目89:回文问题

问题描述

输入一串字符,其长度小于200,判断该串字符是否构成回文。 所谓回文是指从左到右和从右到左读一串字符的值是一样的,如:ABCBA。

输入说明

你的程序需要从标准输入设备(通常为键盘)中读入多组测试数据。每组输入数据由一行字符组成,它们之间没有空格,在行首和行尾没有多余的空格。

输出说明

对每组测试数据,你的程序需要向标准输出设备(通常为启动该程序的终端)依次输出一组对应的答案:构成回文的输出Yes ,反之输出 No。所有数据前后没有多余的空格,两组数据之间也没有多余的空行。

总结:

将输入的字符串存储在字符数组 str[] 中,使用 isPalindrome() 函数判断字符串是否为回文字符串,是则输出Yes,不是输出No

#include <stdio.h> #include <string.h> //判断字符数组(长度len)是否是回文 int isPalindrome(char str[], int len){ for(int i = 0; i < len / 2; i++){ if(str[i] != str[len - 1 - i]) return 0; } return 1; } int main(){ char str[201]; while(fgets(str, sizeof(str), stdin) != NULL){ str[strcspn(str, "\n")] = '\0'; int len = strlen(str); if(isPalindrome(str, len)) printf("Yes\n"); else printf("No\n"); } return 0; }

题目90:字符串中找整数

问题描述

对于一个字符串,编程找出其中的所有整数。例如,字符串“a12bc34d05”,其中有整数12、34、5。

输入说明

程序输入包括多行,每一行都是一串字符,字符串长度不超过500。字符串中的字符只有字母与数字。

输出说明

程序输出为多行,每行第一个数代表所对应的字符串中整数的总个数。紧跟其后的依次是每个整数,数和数之间有一个空格。行与行之间没有多余空行,行首行尾没有多余空格

总结:

1. str[] 数组存储字符串,num[] 数组存储字符串中的数字,count记录数字的个数(num[] 数组的长度)

2. 遍历字符串的每个字符,如果当前字符是小写字母(a-z),跳过这个字符,继续下一个;设置flag = 0(标记是否开始提取数字),如果当前字符是数字(0-9),循环处理连续的数字:num[count] = num[count] * 10 + 当前数字值,令flag = 1(表示找到了数字),移动到下一个字符,直至下一个字符不为数字,count++

3. 输出共有几个数字,即 count 值,紧跟着输出每个数字的值

#include <stdio.h> #include <string.h> int main(){ char str[501]; while(fgets(str, sizeof(str), stdin) != NULL){ str[strcspn(str, "\n")] = '\0'; int count = 0, len = strlen(str); int num[50]; for(int i = 0; i < 50; i++) num[i] = 0; for(int i = 0; i < len; ){ if(str[i] >= 'a' && str[i] <= 'z'){ i++; continue; } int flag = 0; while(str[i] >= '0' && str[i] <= '9'){ num[count] = num[count] * 10 + str[i] - '0'; i++; flag = 1; } if(flag == 1){ count++; } } printf("%d", count); for(int i = 0; i < count; i++){ printf(" %d", num[i]); } printf("\n"); } return 0; }

3.25

遍历字符串,遇到数字开始记录(num),直到遇到字母,将字母前的数字(若不为0)记录在 result[] 中,直至遍历完整个字符串

输出 result[] 长度后,逐个输出 result[] 中的每个值

#include <stdio.h> #include <string.h> int main(){ char str[501]; while(scanf("%s", str) != EOF){ int len = strlen(str), idx = 0, num = 0; int result[50]; for(int i = 0; i <= len; i++){ if(str[i] >= '0' && str[i] <= '9') num = num * 10 + str[i] - '0'; else{ if(num != 0) result[idx++] = num; num = 0; } } printf("%d", idx); for(int i = 0; i < idx; i++) printf(" %d", result[i]); printf("\n"); } return 0; }

翻译:

IV.计算机科学的主要分支
计算机科学可以被分成四个主要领域:软件开发,计算机结构(硬件),人机接口技术(设计最高效的人类使用计算机的方式),和人工智能(使计算机表现智能的尝试)。软件开发致力于创造高效运行的计算机程序。计算机结构致力为确切的计算机需求开发最佳的硬件。人工智能(AI)和人机接口技术领域经常涉及软件和硬件的开发区解决确切的问题。

1.软件开发
关于开发计算机软件,计算机科学家和工程师研究各个领域和软件设计技术,例如用在确切程序中的编程语言和算法的最好种类,怎么高效地存储和检索信息,和特定软件-计算机组合的计算的限制。软件设计者在开发一个程序时必须考虑很多因素。经常,一个领域必须牺牲程序性能为了软件的整体性能。例如,计算机仅有有限的内存容量,软件设计者必须限制包含在程序中的特征的数量以致于它所需的内存不会超过其设计对应系统的供应能力。

软件工程是软件开发的一个领域,在这个领域计算机科学家和工程师研究推动正确的,可信赖的和健壮的计算机程序的高效开发的方法和工具。计算机科学这个分支的研究认为软件生命周期的所有阶段,从正式的问题规范开始,逐步推进至解决方案的设计,程序实现,程序测试以及程序维护。软件工程师开发软件工具和工具的集合统称为编程环境为了改进开发流程。例如,工具可以帮助管理被一个程序员团队写出的大程序的很多组成。


单词:

http://www.jsqmd.com/news/538844/

相关文章:

  • 设计师的救星:5分钟掌握Sketch图层批量重命名技巧
  • why English is more accurate.
  • 保姆级教程:在RK3588开发板上手动调整DTS,让gmac0稳定注册为eth0
  • 数字内容访问优化:5大技术路径与合规实践指南
  • 2026年企业云盘选型必读:国内TOP8云端文件管理系统深度盘点
  • 如何通过期刊官网找论文?快速追踪最新研究与特刊
  • 七色纺:家居服装加盟赛道 27 年深耕与发展实力全解析 - 深度智识库
  • 使用VS Code 生成 React 简单问候页面的完整步骤
  • 5个理由让JD-GUI成为Java开发者的必备反编译神器
  • 前缀和(和可被K整除的子数组)(6)
  • 如何一键安全弹出USB设备:Windows用户的终极解决方案
  • 免费的往往最贵?2026年高性价比网盘深度测评与避坑指南(含5款主流工具实测)
  • 闲置华润万家卡别浪费,帮你高效回收变现 - 猎卡回收公众号
  • 美团周末五折,亲测解答:鱼你在一起的招牌巴沙鱼加米饭外卖好吃吗? - 资讯焦点
  • 2026实测分享!靠谱省心的三种分期乐京东e卡套装回收平台 - 猎卡回收公众号
  • 基于策略模式与智能编排的抖音批量下载系统架构设计与实现
  • 预印本论文从哪里找?优缺点与使用建议
  • 从零开始:StaMPS地表形变监测软件快速部署与实战指南
  • 软件工程师如何转型AI工程师 第四章 工程化——被严重低估的护城河
  • 转:要“豁出性命”理解他人
  • 如何用91160-cli解决医院挂号难题:全自动医疗预约的完整解决方案
  • Zephyr开发环境搭建避坑指南:从Ubuntu配置到STM32烧录全流程
  • 北京记录者商行上门回收 于先生 18910232290 - 品牌排行榜单
  • 用74ls10和74ls20与非门搭建四人表决器:从真值表到电路图的完整设计流程
  • 2026 终极指南:5 款主流 Obsidian 同步方案深度测评,哪家最稳定?
  • 2272 上市公司绿色创新波动性(1994-2022)
  • 开源视频获取工具:从流媒体到本地存储的完整解决方案
  • 大模型落地指南:微调、成本与安全,一篇搞定!
  • 易语言飞将ddddocr识图识字PaddleOCR识图识字苍狼OCR简单识字简化
  • 给视觉新手的保姆级教程:用Python+OpenCV玩转四步相移结构光(附代码)