牛客网华为机试题说明一

ops/2025/1/8 20:53:06/

一. 简介

对牛客网华为机试题进行一下记录。

二.  牛客网华为机试题

1. 字符串最后一个单词的长度

题目说明
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。
(注:字符串末尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:

输出一个整数,表示输入字符串最后一个单词的长度。

示例1
输入: hello nowcoder
输出: 8

代码实现如下:

#include <stdio.h>
#include <string.h>int main(void) 
{char buffer[5000] = {0};char* ptr = NULL;int i = 0;int len = 0;int count = 0;//从终端读取一行字符串//fgets函数从文件或输入流中读取的字符串中存在换行符//fgets()函数会将其包含在返回的字符串中,并将其视为一个字符。fgets(buffer, 5000, stdin);len = strlen(buffer)-1;ptr = &buffer[len-1];for(i=0; i<len; i++){if(*ptr != ' '){count++;}else{break;}ptr--;}printf("%d\n", count);return 0;
}

2. 计算某字符出现次数

题目说明
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
数据范围: 1≤n≤1000 1≤n≤1000
输入描述:
第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。
输出描述:
输出输入字符串中含有该字符的个数。(不区分大小写字母)
示例1
输入:
ABCabc
A
输出:2

代码实现如下:

#include <stdio.h>
#include <string.h>int main(void)
{char buf[1000] = {0};char ch = '0';int i = 0;int count = 0;scanf("%[^\n]\n", buf);//读入输入字符,遇到回车停止读入scanf("%c", &ch);for(i=0; i<strlen(buf); i++){if( ((ch >='0') && (ch <='9')) && (ch == buf[i]))  //字符为数字时{count++;  }else  if(((ch==buf[i])||(ch==(buf[i]+32))||(ch==(buf[i]-32))) && !(ch>='0'&&ch<='9')){count++;}}printf("%d\n", count);return 0;
}

3. 明明的随机数

明明生成了NN个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。
数据范围: 1≤n≤1000 1≤n≤1000  ,输入的数字大小满足 1≤val≤500 1≤val≤500
输入描述:
第一行先输入随机整数的个数 N 。 接下来的 N 行每行输入一个整数,代表明明生成的随机数。 具体格式可以参考下面的"示例"。
输出描述:

输出多行,表示输入数据处理后的结果

代码实现如下:

#include <stdio.h>int main(void)
{int n, i = 0;int num = 0;int check[1000] = {0};scanf("%d", &n);//以数组下标来存储随机数//下标对应的数组值为1,来说明是否是存储的随机数 for(i=0; i<n; i++){scanf("%d", &num);check[num] = 1;}for (i=0; i<1000; i++){if (check[i] == 1) {printf("%d\n", i);}}return 0;
}


http://www.ppmy.cn/ops/9142.html

相关文章

Mac 安装pnpm报错

npm install -g pnpm 报错截图&#xff1a; 报错原因&#xff1a;权限 解决方法&#xff1a;sudo npm install -g pnpm --allow-root 输入密码即可

数仓建模—数据架构

数仓—数据架构 为了在企业决策中使用数据,数据必须经过整个数据平台的各个阶段。整个过程是什么样子的,从开始到结束?原始形式的数据是如何转化为可导致商业决策的见解的?这些问题可以通过数据架构来回答。 数据架构是指记录组织所有数据资产的模型、规则和标准。它映射…

设计模式之桥接模式

1、详细介绍 桥接模式&#xff08;Bridge Pattern&#xff09;是一种结构型设计模式&#xff0c;它将抽象部分与其实现部分分离&#xff0c;使它们可以独立变化。桥接模式通过引入抽象层和实现层的概念&#xff0c;允许用户在不改变抽象接口的前提下&#xff0c;动态地选择或替…

【Java基础】21.重写(Override)与重载(Overload)

文章目录 一、重写(Override)1.方法重写2.方法的重写规则3.Super 关键字的使用 二、重载(Overload)1.方法重载2.重载规则3.实例 三、重写与重载之间的区别 一、重写(Override) 1.方法重写 重写&#xff08;Override&#xff09;是指子类定义了一个与其父类中具有相同名称、参…

并发 MiniHttp 服务器

项目需求 实现一个http 服务器项目&#xff0c;服务器启动后监听80端口的tcp 连接&#xff0c;当用户通过任意一款浏览器访问我们的http服务器&#xff0c;http服务器会查找用户访问的html页面是否存在&#xff0c;如果存在则通过http 协议响应客户端的请求&#xff0c;把页面…

【爬取研招网指定学校专业信息】

前言 本文介绍了如何使用 Python 的 requests 库和 BeautifulSoup 库来爬取研究方向信息&#xff0c;并将其保存为 CSV 文件。爬取的网站为“中国研究生招生信息网”&#xff08;https://yz.chsi.com.cn/&#xff09;。代码从指定的专业目录页面爬取研究方向的相关信息&#x…

数仓建模—逻辑数据模型

数仓建模—逻辑数据模型 数据模型是数据元素及其基于现实世界对象之间的关系的可视化表示。数据模型揭示并定义数据在业务流程中的连接方式,并支持创建高效的信息系统或应用程序。例如,在商业智能中,数据模型定义用户可以在其分析中使用哪种数据。 逻辑数据模型 (LDM Logi…

Java中的StringBuilder类

StringBuilder 是 Java 中的一个类&#xff0c;它用于可变字符串的构造或修改。当你需要在一个循环中多次修改一个字符串时&#xff0c;使用 StringBuilder 是非常有用的&#xff0c;因为它比使用 操作符连接字符串的效率要高得多。 StringBuilder 的主要特点如下&#xff1a…