湘大 XTU OJ 1260 Completed String 题解(非常详细):建立数组下标和数组元素之间的映射关系 ~scanf

news2025/1/11 14:30:02

一、链接

1260 Completed String

二、题目

题目描述

给一个字符串,请判断字符串是否出现了所有的英文字母(不区分大小写)。

输入

每行一个只含英文字母的字符串,长度不超过1000。

输出

每行输出一个样例的结果,如果出现了所有的字符串,输出“Yes”,否则输出“No”。(不需要输出引号)

样例输入

ProgrammingPratice
TheQuickBrownFoxJumpsOverLazyDog

样例输出

No
Yes

提示

巨大的输入量,请使用C风格的输入

三、题意

判断字符串是否出现了所有字母,如果出现了就输出yes,否则输出no

四、代码

c++代码

#include<iostream>

using namespace std;

char op[1000+10];
int a[1000];

int main()
{
	while(~scanf("%s",op))
	{
		for(int i=0;i<1010;i++)
		{
			if(op[i]>=65&&op[i]<=90)	op[i]+=32;
			
			if(op[i]>=97&&op[i]<=122)	
			{
				int num=op[i];
				a[num]++;
			}
		}
		
		bool flag=false;
		for(int i=97;i<=122;i++)
		{
			if(a[i]==0)	
			{
				printf("No\n");
				//printf("%d\n",i);
				flag=true;
				break;
			}
		}
		
		if(flag==false)	printf("Yes\n");
		
		for(int i=97;i<=122;i++)	a[i]=0;
	}
	
	return 0;
}

c语言代码

#include<stdio.h>
#include<stdbool.h>

char op[1000+10];

int a[200];

int main()
{
    while(~scanf("%s",op))
    {
        for(int i=0;i<1010;i++)    
        {
            if(op[i]>=65&&op[i]<=90)    op[i]+=32;
            
            if(op[i]>=97&&op[i]<=122)    
            {
                int temp=op[i];
                a[temp]++;
            }
        }
        
        bool flag=false;
        for(int i=97;i<=122;i++)
        {
            if(a[i]==0)
            {
                flag=true;
                printf("No\n");
                break;
            }
        }
        
        if(flag==false)    printf("Yes\n");
        
        for(int i=97;i<=122;i++)    a[i]=0;
    }
    
    return 0;
}

五、总结

1.一直输入就使用这一行代码,如果不加~会出现Output Limit Exceed

while(~scanf("%s",op))

2.把所有大写字母转换成小写字母,遍历字符串找到了小写字母,就把小写字母作为下标的另一个数组的值增加一

3.遍历小写字母作为下标的数组元素,如果有一个数组元素的数值是0,就表示没有用到所有字母,就输出no,并且做一下标记

4.把小写字母作为下标的数组元素重置为零

5.这个道题目还是比较简单,主要难点就是建立数组下标和数组元素之间的关系,数组下标表示小写字母的ASCII码数值,数组元素的数值大于等于1,就表示出现了这个字母

六、精美图片

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/867732.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot案例-部门管理-新增

根据页面原型&#xff0c;明确需求 页面原型 需求 阅读接口文档 接口文档链接如下&#xff1a; 【腾讯文档】SpringBoot案例所需文档 https://docs.qq.com/doc/DUkRiTWVaUmFVck9N 思路分析 前端在输入要新增的部门名称后&#xff0c;会以JSON格式将数据传入至后端&#xf…

基于Python实现的有限元方程求解程序附源码

问题描述 根据已知下列非齐次两点边值问题(1.2.28) { L u − d d x ( p d u d x ) q u f , a < x < b , u ( a ) α , u ′ ( b ) β , \begin{cases} \boldsymbol{L} u-\frac{\mathrm{d}}{\mathrm{d} x}\left(p \frac{\mathrm{d} u}{\mathrm{~d} x}\right)q uf, a…

markdown命令模板

markdown快速入门(typora) 1、代码块 //代码块语 public static void main(String[] args){}//linux下spring项目的启动命令 # java -jar blog start ## 2、标题&#xff1a;java # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题3、字体 …

STM32 LL库+STM32CubeMX--点亮板载LED

一、前期准备 硬件&#xff1a;STM32F103C8T6开发板调试工具&#xff1a;DAPLink(本次使用)或USB-TTL开发环境&#xff1a;STM32CubeMX、Keil、Vscode(可选)板载LED&#xff1a;PC13(低电平点亮) 二、STM32CubeMX配置 1.选择芯片型号&#xff1a; 2.配置外设时钟&#xff1a…

步入React正殿 - 事件处理

目录 扩展学习资料 React事件和DOM事件 和传统DOM事件处理异同 this关键字的处理 this关键字 在JSX中使用bind方法 在构造函数中使用bind方法 使用箭头函数【推荐】 向事件处理程序传递参数【不跨组件】 向父组件传递参数 /src/App.js /src/components/listItem.jsx…

【MySQL--->数据库基础】

文章目录 [TOC](文章目录) 一、基本概念二、实际应用中的数据库三、mysql的架构四、mysql语句分类五、存储引擎查看 一、基本概念 mysql本质是一个CS模式的网络服务,mysql是客户端,mysqld是服务端,提供高效的数据存取方案.数据库系统简单来说是一个数据集合加上管理这个数据集…

Java旋转数组中的最小数字(图文详解版)

目录 1.题目描述 2.题解 分析 具体实现 方法一&#xff08;遍历&#xff09;&#xff1a; 方法二&#xff08;排序&#xff09;&#xff1a; 方法三&#xff08;二分查找&#xff09;&#xff1a; 1.题目描述 有一个长度为 n 的非降序数组&#xff0c;比如[1,2,3,4,5]&a…

【LeetCode 75】第二十六题(394)字符串解码

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码运行结果&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 给我们字符串&#xff0c;让我们解码&#xff0c;那么该怎么解码呢&#xff0c;被括号【】包裹起来的字符串需要扩展成括号左边第…

一百五十一、Kettle——Linux上安装的kettle8.2开启carte服务以及配置子服务器

一、目的 kettle8.2在Linux上安装好可以启动界面、并且可以连接MySQL、Hive、ClickHouse等数据库后&#xff0c;准备在Linux上启动kettle的carte服务 二、实施步骤 &#xff08;一&#xff09;carte服务文件路径 kettle的Linux运行的carte服务文件是carte.sh &#xff08;二…

grafana部署

一、前言 grafana是一款用于将prometheus收集的数据通过ui展示出来的组件&#xff0c;可以直观的看到每个数据的情况和指标&#xff0c;grafana有很多的ui展示模板可以使用 二、部署 这里我使用docker部署 先查找一下镜像 docker search grafana 创建存放grafana数据的目录…

C++初阶之一篇文章教会你list(理解和使用)

list&#xff08;理解和使用&#xff09; 什么是list特点和优势基本操作示例用法与其他序列式容器&#xff08;如 std::vector 和 std::deque&#xff09;相比&#xff0c;std::list 显著的区别和优势成员类型 list构造函数1. default (1)2. fill (2)3.range (3)4. copy (4) li…

无涯教程-Perl - opendir函数

描述 此函数使用readdir函数打开目录EXPR,并将其与DIRHANDLE关联以进行处理。 语法 以下是此函数的简单语法- opendir DIRHANDLE, EXPR返回值 如果成功,此函数将返回true。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perl -w$dirname"/tmp";opendir ( …

MySQL~事务的四大特性和隔离级别

事务的四大特性 1.原子性&#xff1a;一个事务&#xff08;transaction&#xff09;中的所有操作&#xff0c;要么全部完成&#xff0c;要么全部不完成。事务在执行过程中发生错误&#xff0c;会被回滚&#xff08;Rollback&#xff09;到事务开始前的状态&#xff0c;就像这个…

MySQL环境与配置

安装MySQL https://www.mysql.com/ 进入下载官网后 下载完成后运行安装包下载完成后运行安装包 选择完路径后一直点下一步 然后运行MySQL 设置密码 这里如安装失败请右键我的电脑点击属性&#xff0c;检查电脑名和组名是否为英文 启动与停止MySQL mysql安装完毕后默认是运行…

【C语言】进阶指针,超详解,含丰富代码示例

文章目录 前言指针进阶的重点内容1.字符指针2.数组指针3.指针数组4.函数指针5.函数指针数组6. 指向函数指针数组的指针 总结 这里是初阶的链接&#xff0c;方便大家对照查看&#xff01;&#xff01;&#xff01;添加链接描述 前言 大家好呀&#xff0c;今天和大家将指针进阶…

SpringBoot在线失物招领系统

一个基于SpringBootSemanticUI的pc Web在线失物招领系统 http://localhost:8080/swzl/index 主页 http://localhost:8080/swzl/login 登录页 用户表user admin字段为true是管理员 false用户 springboot2.3 springmvc mybatis html ajax idea 或eclipse maven mys…

9.3.2.1网络原理(UDP)

1.UDP的基本特点:无连接,不可靠传输,面向数据报,全双工. 2.1~1024的端口号有特定的含义,不建议使用.比如21:ftp,22:ssh,80:http,443:https. 3.CRC校验算法:循环冗余校验和,把UDP报中的每个字节都依次进行累加,把累加的结果,放到两个字节的变量中,溢出也无所谓,因为都加了一遍.…

机器学习笔记 - 关于向量嵌入​embedding在机器学习中的使用

向量嵌入概述 向量嵌入是机器学习中最有趣和最有用的概念之一。它们是许多 NLP、推荐和搜索算法的核心。如果您曾经使用过推荐引擎、语音助手、语言翻译器等工具,您就会遇到过依赖嵌入的系统。 与大多数软件算法一样,机器学习算法也需要使用数字。有时,我们的数据集包含数值…

Centos操作系统新安装的Python3中安装mysqlclient库

问题简介&#xff1a; mysqlclient 是python中的一个连接MySQL数据库的重要的三方库&#xff0c;但是在centos中使用pip3 install mysqlclient 方法安装一直报错&#xff0c;经过两天时间的排查,终于找到了解决问题的方法。 [rootd3acd2b8211d /]# pip3 install mysqlclient Co…

聊聊51单片机

目录 1.介绍 2.发展 3.应用领域 4.发展前景 1.介绍 51单片机&#xff08;AT89C51&#xff09;是一种常见的8位微控制器&#xff0c;属于Intel MCS-51系列。它是一种低功耗、高性能的单片机&#xff0c;广泛应用于嵌入式系统中。 51单片机具有很多特点和功能&#xff0c;例如…