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

2024.11.13(一维数组相关)

思维导图

1> 提示并输入一个字符串,统计该字符串中大写字母、小写字母、数字字符、空格字符的个数并输出

2> 提示并输入一个字符串,将该字符串中的所有字母挑选到一个新数组中,将所有的数字字符挑选到另一个新数组中。并且将数字字符对应的数组降序排序。输出两个数组的结果

3> 请用 C、JAVA、C# 任一种语言,对数组 {3, 2, 10, 1, 23, 15, 82} 进行由小到大的排序。(安在软件)

4> 输入一个字符串,将其逆序后输出?(电工时代)

5> 一个长度为10的数组中重复数据,现要求相同数据只保留一份,其他的用0来代替,被替换的数据移到数组末尾。(数组内容自定) (富士安全,云尖软件开发)

6> 输出一个 int 型数组中最小和第二小的数。(鲁科安全)

7> 将作业连接上的 第二节数组部分的题目完成:5、7、8、10、13、18、20、22、23、26、27、28、29、30

0-C基础知识 答案 · 华清远见工作空间

第一题

#include <stdio.h>
#include <ctype.h>
//1> 提示并输入一个字符串,统计该字符串中大写字母、小写字母、数字字符、空格字符的个数并输出
int main(int argc, const char *argv[])
{char str[50];printf("请输入一个字符串\n");gets(str);//读取输入的字符串int len = sizeof(str)/sizeof(str[0]);int Uppercase_letters = 0, lowercase_letters = 0, numeric_characters = 0,space_characters = 0;//大写字母、小写字母、数字字符、空格字符for(int i=0;i<len;i++){if(isupper(str[i]))//判断给定字符是否为大写字母{Uppercase_letters++;}if(islower(str[i]))//判断给定字符是否为小写字母{lowercase_letters++;}if(isdigit(str[i]))//判断给定字符是否为数字字符{numeric_characters++;}if(isspace(str[i]))//判断给定字符是否为空格字符{space_characters++;}}printf("大写字母个数为:%d",Uppercase_letters);printf("小写字母个数为:%d",lowercase_letters);printf("数字字符个数为:%d",numeric_characters);printf("空格字符个数为:%d",space_characters);return 0;
}ubuntu@ubuntu:student_C_2024_11_13$ gcc homework_after_class.c 
homework_after_class.c: In function ‘main’:
homework_after_class.c:9:2: warning: implicit declaration of function ‘gets’; did you mean ‘fgets’? [-Wimplicit-function-declaration]gets(str);//读取输入的字符串^~~~fgets
/tmp/ccnIEUop.o:在函数‘main’中:
homework_after_class.c:(.text+0x37): 警告: the `gets' function is dangerous and should not be used.
ubuntu@ubuntu:student_C_2024_11_13$ ./a.out 
请输入一个字符串qaz123 QWERT   qwertHGvff  123487
大写字母个数为:11小写字母个数为:12数字字符个数为:9空格字符个数为:8

第二题

#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main(int argc, const char *argv[])
{//2> 提示并输入一个字符串,将该字符串中的所有字母挑//选到一个新数组中,将所有的数字字符挑选到//另一个新数组中。并且将数字字符对应的数组//降序排序。输出两个数组的结果char str[50];//原数组char str1[20];//字母数组char str2[20];//数字数组printf("请输入一个字符串\n");gets(str);//读取输入的字符串int len = strlen(str);int count1 = 0;//字母数组下标计数int count2 = 0;//数字数组下标计数for(int i=0;i<len;i++){if(isalpha(str[i]))//判断给定字符是否为字母{str1[count1]=str[i];count1++;}else if(isdigit(str[i]))//判断给定字符是否为数字字符{str2[count2]= str[i];count2++;}else{continue;}}//数字数组降序排列int len1 = strlen(str1);int len2 = strlen(str2);//数组长度for(int i=0;i<len1;i++){int arr = i;//目前对比值的下标int temp,flag = 0;//中间变量,标识变量for(int j=i;j<len2;j++){if(str2[arr]<str2[j])//比较{flag = 1;arr = j;}}if(flag !=0)//将大的排到前面{       temp = str2[arr];str2[arr] = str2[i];str2[i] = temp;}}//输出两个数组printf("字母是:");for(int i = 0;i<len1;i++){printf("%c ",str1[i]);}putchar(10);printf("数字是:");for(int i = 0;i<len2;i++){printf("%c ",str2[i]);}putchar(10);return 0;
}ubuntu@ubuntu:student_C_2024_11_13$ gcc homework_after_class.c 
homework_after_class.c: In function ‘main’:
homework_after_class.c:57:2: warning: implicit declaration of function ‘gets’; did you mean ‘fgets’? [-Wimplicit-function-declaration]gets(str);//读取输入的字符串^~~~fgets
/tmp/ccwuB0g4.o:在函数‘main’中:
homework_after_class.c:(.text+0x40): 警告: the `gets' function is dangerous and should not be used.
ubuntu@ubuntu:student_C_2024_11_13$ ./a.out 
请输入一个字符串
cdgf gfv434rfdjg vfdjgvf234    
字母是:c d g f g f v r f d j g v f d j g v f 
数字是:4 4 4 3 3 2 

第三题

#include <stdio.h>
#include <ctype.h>
#include <string.h>int main(int argc, const char *argv[])
{//3> 请用 C、JAVA、C# 任一种语言,//对数组 {3, 2, 10, 1, 23, 15, 82} 进行由小到大的排序。char arr[] = {3, 2, 10, 1, 23, 15, 82};int len = sizeof(arr)/sizeof(arr[0]);for(int i=0;i<len;i++){for(int j=0;j<len-1;j++){if(arr[j]>arr[j+1]){arr[j]=arr[j+1]+arr[j];	arr[j+1]=arr[j]-arr[j+1];arr[j]=arr[j]-arr[j+1];}}}for(int i=0;i<len;i++){printf("%d  ",arr[i]);}return 0;
}ubuntu@ubuntu:student_C_2024_11_13$ gcc homework_after_class.c 
ubuntu@ubuntu:student_C_2024_11_13$ ./a.out 
1  2  3  10  15  23  82 

第四题

#include <stdio.h>
#include <ctype.h>
#include <string.h>int main(int argc, const char *argv[])
{//4> 输入一个字符串,将其逆序后输出?char str[50]="";printf("输入一个字符串\n");gets(str);int len = strlen(str);for(int i=0;i<len/2;i++){str[i] = str[len-i-1]+str[i];str[len-i-1] = str[i]-str[len-i-1];str[i] = str[i] - str[len-i-1];}puts(str);putchar(10);return 0;
}ubuntu@ubuntu:student_C_2024_11_13$ ./a.out 
输入一个字符串
cgdrthj12345
54321jhtrdgc

第五题

#include <stdio.h>
#include <ctype.h>
#include <string.h>int main(int argc, const char *argv[])
{//5> 一个长度为10的数组中重复数据,//现要求相同数据只保留一份,其他的用0来代替,//被替换的数据移到数组末尾。(数组内容自定)char str[10] = {78,23,78,95,94,20,20,98,54,54};int len = sizeof(str)/sizeof(str[0]);for(int i = 0;i<len;i++)//对数的遍历次数{int qa = str[i];for(int j = i+1;j<len;j++)//用几个数和全部的数比对{if(qa == str[j])//判断重复{str[j] = 0;//重复的数用0代替}}}for(int k=0;k<len-1;k++)//把0换到末尾{if(str[k] == 0){for(int j=k;j<len-1;j++){str[j] = str[j+1];}str[len] = str[k];}}printf("结果为:\n");for(int i = 0;i<len;i++){printf("%d ",str[i]);}putchar(10);return 0;
}ubuntu@ubuntu:student_C_2024_11_13$ ./a.out 
结果为:
78 23 95 94 20 98 54 0 0 0 

第六题

#include <stdio.h>
#include <ctype.h>
#include <string.h>
//6> 输出一个 int 型数组中最小和第二小的数。
int main(int argc, const char *argv[])
{int arr[] = {45,56,23,78,1,89,23,56,45,95,12};int a = arr[0];//第一小int len = sizeof(arr)/sizeof(arr[0]);int b = arr[1];//第二小for(int i=0;i<len;i++)//找出第一小{if(arr[i]<=a){a = arr[i];}}for(int i=0;i<len;i++)//找出第二小{if(arr[i]<=b||arr[i]>=a){b = arr[i];}}printf("第一小%d ,第二小%d\n",a,b);return 0;
}
ubuntu@ubuntu:student_C_2024_11_13$ ./a.out 
第一小1 ,第二小12

第七题

1.D
2.     9,2,3,4,5,6,7,8,1
        9,8,3,4,5,6,7,2,1
        9,8,7,4,5,6,3,2,1
        9,8,7,6,5,4,3,2,1
6.D
9.C
11.B
12.A
14.D
15.C
16.   9,2,3,4,5,6,7,8,1
        9,8,3,4,5,6,7,2,1
        9,8,7,4,5,6,3,2,1
        9,8,7,6,5,4,3,2,1
17.B
19.   10  10  8  10
21.D
24.A

25.a[j]
     a[j+1]
     k
 

相关文章:

2024.11.13(一维数组相关)

思维导图 1> 提示并输入一个字符串&#xff0c;统计该字符串中大写字母、小写字母、数字字符、空格字符的个数并输出 2> 提示并输入一个字符串&#xff0c;将该字符串中的所有字母挑选到一个新数组中&#xff0c;将所有的数字字符挑选到另一个新数组中。并且将数字字符对…...

豆包MarsCode算法题:数组元素之和最小化

数组元素之和最小化 问题描述思路分析分析思路解决方案 参考代码&#xff08;Python&#xff09;代码分析1. solution 函数2. 计算 1 2 3 ... n 的和3. 乘以 k 得到最终的数组元素之和4. 主程序&#xff08;if __name__ __main__:&#xff09;代码的时间复杂度分析&#x…...

Hbase Shell

一、启动运行HBase 首先登陆SSH&#xff0c;由于之前在Hadoop的安装和使用中已经设置了无密码登录&#xff0c;因此这里不需要密码。然后&#xff0c;切换至/usr/local/hadoop&#xff0c;启动Hadoop&#xff0c;让HDFS进入运行状态&#xff0c;从而可以为HBase存储数据&#…...

激活函数解析:神经网络背后的“驱动力”

神经网络中的激活函数&#xff08;Activation Function&#xff09;是其运作的核心组件之一&#xff0c;它们决定了神经元如何根据输入信号进行“激活”&#xff0c;进而影响整个模型的表现。理解激活函数的工作原理对于设计和优化神经网络至关重要。本篇博客将深入浅出地介绍各…...

【开源免费】基于SpringBoot+Vue.JS水果购物网站(JAVA毕业设计)

博主说明&#xff1a;本文项目编号 T 065 &#xff0c;文末自助获取源码 \color{red}{T065&#xff0c;文末自助获取源码} T065&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…...

推荐一款多物理场模拟仿真软件:STAR-CCM+

Siemens STAR-CCM是一款功能强大的计算流体力学(CFD)软件&#xff0c;由西门子公司推出。它集成了现代软件工程技术、先进的连续介质力学数值技术和卓越的设计&#xff0c;为工程师提供了一个全面的多物理场仿真平台。主要特点与优势&#xff1a;多物理场仿真、自动化与高效、高…...

React Hooks在现代前端开发中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 React Hooks在现代前端开发中的应用 React Hooks在现代前端开发中的应用 React Hooks在现代前端开发中的应用 引言 React Hooks …...

重学SpringBoot3-整合Quartz定时任务

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ Quartz 是一个开源的任务调度框架&#xff0c;用于在应用程序中创建、管理和调度定时任务。将 Quartz 和 Spring Boot 3 结合&#xff0c;可以轻松实现定时任务的灵活管理…...

STM32单片机WIFI语音识别智能衣柜除湿消毒照明

实践制作DIY- GC0196-WIFI语音识别智能衣柜 一、功能说明&#xff1a; 基于STM32单片机设计-WIFI语音识别智能衣柜 二、功能介绍&#xff1a; STM32F103C系列最小系统板LCD1602显示器ULN2003控制的步进电机&#xff08;柜门开关&#xff09;5V加热片直流风扇紫外消毒灯DHT11…...

spring中entity的作用

在Spring框架中&#xff0c;特别是结合Spring Data JPA&#xff08;Java Persistence API&#xff09;时&#xff0c;Entity类用于表示数据库中的表。这些类通常用于ORM&#xff08;对象关系映射&#xff09;&#xff0c;即将对象模型与关系型数据库中的表进行映射。以下是Enti…...

2019年下半年试题二:论软件系统架构评估及其应用

论文库链接&#xff1a;系统架构设计师论文 论文题目 对于软件系统&#xff0c;尤其是大规模复杂软件系统而言&#xff0c;软件系统架构对于确保最终系统的质量具有十分重要的意义。在系统架构设计结束后&#xff0c;为保证架构设计的合理性、完整性和针对性&#xff0c;保证系…...

网络自动化04:python实现ACL匹配信息(主机与主机信息)

目录 背景分析代码代码解读代码总体结构1. load_pattern_from_excel 函数2. match_and_append_pattern 函数3. main 函数总结 最终的效果&#xff1a; 今天不分享netmiko&#xff0c;今天分享一个用python提升工作效率的小案例&#xff1a;acl梳理时的信息匹配。 背景 最近同事…...

字典树介绍以及C++实现

字典树的概念 字典树&#xff08;Trie&#xff09;&#xff0c;又称为前缀树或单词查找树&#xff0c;是一种树形数据结构&#xff0c;主要用于存储具有相同前缀的字符串集合。它特别适合用于词典中的单词查找、自动补全、拼写检查等应用。 字典树算法的核心思想就是每层存入…...

【C++】用红黑树封装set和map

在C标准库中&#xff0c;set容器和map容器的底层都是红黑树&#xff0c;它们的各种接口都是基于红黑树来实现的&#xff0c;我们在这篇文章中已经模拟实现了红黑树 ->【C】红黑树&#xff0c;接下来我们在此红黑树的基础上来看看如何封装set和map。 一、共用一颗红黑树 我…...

【大数据测试HDFS + Flask详细教程与实例】

大数据测试HDFS Flask 1. 环境准备安装工具安装Hadoop&#xff08;以单机模式为例&#xff09;安装Flask和HDFS Python客户端 2. HDFS Flask基本架构基本文件结构 3. 创建Flask应用与与HDFS交互步骤1&#xff1a;配置HDFS连接步骤2&#xff1a;构建Flask应用 4. 创建前端界面…...

高级java每日一道面试题-2024年10月31日-RabbitMQ篇-RabbitMQ中vhost的作用是什么?

如果有遗漏,评论区告诉我进行补充 面试官: RabbitMQ中vhost的作用是什么? 我回答: 在Java高级面试中&#xff0c;关于RabbitMQ中vhost&#xff08;虚拟主机&#xff09;的作用是一个重要且常见的考点。以下是对vhost的详细解释&#xff1a; 一、vhost的基本概念 vhost&am…...

【日常记录-Java】代码配置Logback

1. 简介 在Logback中&#xff0c;推荐使用配置文件&#xff08;如logback.xml或logback-spring.xml&#xff09;来设置日志记录的行为。但在实际应用中&#xff0c;会有动态配置logback的需求。此时可通过编程的方式直接操作LoggerContext以及相关的Logger、Appender、Encoder等…...

HTTP常见的请求头有哪些?都有什么作用?在 Web 应用中使用这些请求头?

HTTP 请求头&#xff08;Request Headers&#xff09;用于在 HTTP 请求中携带额外的信息&#xff0c;帮助服务器更好地处理请求。以下是一些常见的 HTTP 请求头及其作用&#xff1a; 常见请求头及其作用 1. Accept 作用&#xff1a;告知服务器客户端可以接受的内容类型。示例…...

电信数据清洗案例:利用MapReduce实现高效数据预处理

电信数据清洗案例&#xff1a;利用MapReduce实现高效数据预处理 在大数据时代&#xff0c;电信行业积累了大量的用户通话、短信、上网等行为数据。在数据分析和机器学习模型训练前&#xff0c;对这些数据进行清洗是至关重要的一步。MapReduce 是一种高效的数据处理模型&#x…...

react 中 FC 模块作用

React.FC 是一个泛型类型&#xff0c;用于定义函数组件的类型 一、类型定义和代码可读性 1. 明确组件类型 使用React.FC定义一个组件时&#xff0c;使得组件的输入&#xff08;props&#xff09;和输出&#xff08;返回的 React 元素&#xff09;都有明确的类型定义。 impo…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...