【PTA|编程题|期末复习】字符串(一)

【C语言/期末复习】字符和字符串函数(附思维导图/例题)

目录

7-1 组织星期信息

输入样例 (repeat=3) :

输出样例:

代码

7-2 查找指定字符

输入格式:

输出格式:

输入样例1:

输出样例1:

输入样例2:

输出样例2:

代码

7-3 字符串逆序

输入格式:

输出格式:

输入样例:

输出样例:

代码

7-4 统计大写辅音字母

输入格式:

输出格式:

输入样例:

输出样例:

7-5 字符串替换

输入格式:

输出格式:

输入样例:

输出样例:

代码


7-1 组织星期信息

输入一个正整数repeat (0<repeat<10),做repeat次下列运算:

定义一个指针数组将下面的星期信息组织起来,输入一个字符串,在表中查找,若存在,输出该字符串在表中的序号,否则输出-1。

Sunday Monday Tuesday Wednesday Thursday Friday Saturday

输入输出示例:括号内为说明,无需输入输出

输入样例 (repeat=3) :

3
Tuesday
Wednesday
year

输出样例:

3
4
-1

编译器:GCC

代码

 
#include <stdio.h>
#include <string.h>int main()
{char day[7][10] = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday" };//字符串数组int repeat;scanf("%d", &repeat); //输入repeatint i, j;char str[30];for (i = 0; i < repeat; i++){scanf("%s", &str); //输入字符串for (j = 0; j < 7; j++) //将输入字符串与字符数组day中每个字符串比较{if (strcmp(str,day[j]) == 0)//使用strcmp函数比较两个字符串是否相等{printf("%d\n", j+1);//输出结果为下标加1break;}                  }if(j == 7) //没找到的情况,输出-1printf("-1\n"); }return 0;
}

7-2 查找指定字符

本题要求编写程序,从给定字符串中查找某指定的字符。

输入格式:

输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。

输出格式:

如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。

输入样例1:

m
programming

输出样例1:

index = 7

输入样例2:

a
1234

输出样例2:

Not Found

编译器:GCC

代码

#include <stdio.h>
int main()
{int i,k;int tip=0,max=0;char a,d;char b[81];scanf("%c",&a);getchar();//吃掉一个回车,否则结果会出错,回车会给下面的getsgets(b);k=0;for(k=0;b[k]!='\0';k++){ //for终止条件为遇到空字符if((a==b[k])&&(k>=max)){ //求该字符在字符串中所对应的最大下标,需满足字符相等与大于等于最大值max=k;   //将下标给maxtip=1;   //tip置为1}}if(tip==1){printf("index = %d",max);//找到最大值则输出max	}else{printf("Not Found"); //找不到最大值则输出Not Found	}return 0;
}

7-3 字符串逆序

输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。

输入格式:

输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。

输出格式:

在一行中输出逆序后的字符串。

输入样例:

Hello World!

输出样例:

!dlroW olleH

编译器:GCC

代码

 
#include<stdio.h>
int main()
{int i=0,j=0;char str[81];gets(str); //输入字符串while(str[i]!='\0')//终止条件为遇到空字符i++;             //求输入字符串长度ifor (j=i-1;j>=0;j--)//递减for循环 逆序输出每个字符putchar(str[j]);return 0;
}

7-4 统计大写辅音字母

英文辅音字母是除AEIOU以外的字母。本题要求编写程序,统计给定字符串中大写辅音字母的个数。

输入格式:

输入在一行中给出一个不超过80个字符、并以回车结束的字符串。

输出格式:

输出在一行中给出字符串中大写辅音字母的个数。

输入样例:

HELLO World!

输出样例:

4

编译器:GCC

代码

 
#include <stdio.h>
#define MAXSIZE 81int func(char str[]); //函数声明,参数是数组形式,返回类型为整型int main(){char str[MAXSIZE];gets(str);  //输入字符串printf("%d",func(str));
}int func(char str[]){ //函数定义,参数是数组形式,参数是数组形式,返回类型为整型int count=0;for (int i = 0; str[i]!='\0'; i++)//for循环,取出字符串每个字符,终止条件为遇到空字符{if (str[i]>='B'&&str[i]<='Z'&&str[i]!='E'&&str[i]!='I'&&str[i]!='O'&&str[i]!='U')//统计大写辅音字母{count++; //计数加1}}return count;//返回计算变量
}

7-5 字符串替换

本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:

原字母对应字母
AZ
BY
CX
DW
XC
YB
ZA

输入格式:

输入在一行中给出一个不超过80个字符、并以回车结束的字符串。

输出格式:

输出在一行中给出替换完成后的字符串。

输入样例:

Only the 11 CAPItaL LeTtERS are replaced.

输出样例:

Lnly the 11 XZKRtaO OeGtVIH are replaced.

编译器:GCC

代码

#include<stdio.h>
int main()
{char a[81];gets(a); //输入字符串int i;for(i=0;i<81;i++){ //使用for循环,取除最后空字符以外的每个字符进行替换if(a[i]>='A'&&a[i]<='Z'){a[i]=155-a[i];}}puts(a);//输出字符串return 0;
}

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

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

相关文章

VUE学习——表单的输入绑定

使用【v-model】。 输入框 <template><h1>表单输入绑定</h1><input type"text" v-model"message"><p>输入的值&#xff1a;{{ message }}</p> </template> <script>export default{data(){return{messa…

快速的搭建一个临时的 Linux 系统instantbox

centos 安装 docker-CSDN博客 首先要有docker && docker-compose mkdir instantbox && cd $_ bash <(curl -sSL https://raw.githubusercontent.com/instantbox/instantbox/master/init.sh) docker-compose up -d instantbox: instantbox 可以让你快速的搭…

Redisson是什么,怎么用

Redisson是什么 怎么用 算是面试题会问到的 redisson 是一个用于java简单易用的redis客户端&#xff0c;它封装了常见的分步式操作和并发控制功能&#xff0c;提供了丰富的apl和功能&#xff0c;使得开发人员能够轻松与redis进行交互 在spring Boot中使用redisson 需要进行以下…

Java并发面试算法题目

实现一个生产者&#xff0c;消费者 思路&#xff1a;用lock锁。定义一个类成员变量 max_value&#xff0c;min_value代表资源的最大&#xff0c;最小数量。 package org.app.common;import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; imp…

黑马程序员——移动Web——day01

目录&#xff1a; 平面转换 简介平移定位居中案例-双开门旋转转换原点案例-时钟多重转换缩放案例-播放特效倾斜渐变 线性渐变案例-产品展示径向渐变综合案例 导航-频道渐变按钮轮播图猜你喜欢 1.平面转换 简介 作用&#xff1a;为元素添加动态效果&#xff0c;一般与过渡配…

GEE重投影——NICFI数据集重投影到WGS84坐标

简介 重投影 遥感影像的重投影是将一幅影像从一个地理坐标系统转换到另一个地理坐标系统的过程。在遥感应用中,重投影非常重要,因为不同的遥感影像可能来自于不同的遥感传感器或不同的地理坐标系统,而在进行数据分析和集成时,需要保证所有影像在同一地理坐标系统下。 重…

(二)【Jmeter】专栏实战项目靶场drupal部署

该专栏后续实战示例&#xff0c;都以该篇部署的项目展开操作。 前置条件 参考“&#xff08;一&#xff09;【Jmeter】JDK及Jmeter的安装部署及简单配置” 安装部署Jmeter&#xff0c;从文章最后下载“Postman、Rancher.ova、VirtualBox-7.0.12-159484-Win.exe、Xshell-7.0.01…

如何在 Python 中处理 Unicode

介绍 Unicode 是世界上大多数计算机的标准字符编码。它确保文本&#xff08;包括字母、符号、表情符号&#xff0c;甚至控制字符&#xff09;在不同设备、平台和数字文档中显示一致&#xff0c;无论使用的操作系统或软件是什么。它是互联网和计算机行业的重要组成部分&#xf…

小白学习Halcon100例:如何利用动态阈值分割图像进行PCB印刷缺陷检测?

文章目录 *读入图片*关闭所有窗口*获取图片尺寸*根据图片尺寸打开一个窗口*在窗口中显示图片* 缺陷检测开始 ...*1.开运算 使用选定的遮罩执行灰度值开运算。*2.闭运算 使用选定的遮罩执行灰度值关闭运算*3.动态阈值分割 使用局部阈值分割图像显示结果*显示原图*设置颜色为红色…

ARMv8-AArch64 的异常处理模型详解之异常处理概述Handling exceptions

异常处理模型详解之异常处理概述 一&#xff0c;异常处理相关概念二&#xff0c;异常处理概述 一&#xff0c;异常处理相关概念 在介绍异常处理之前&#xff0c;有必要了解一些关于异常处理状态的术语&#xff1a; 当处理器响应一个异常时&#xff0c;我们称该异常被获取了&a…

PIL Image 使用详解

文章目录 1. 各种图像处理库介绍1.1 读取数据的通道顺序1.2 Python图像处理库&#xff08;PIL、Pillow、Scikit-image、Opencv&#xff09; 2、PIL库与Pillow库的区别3 Pillow库3.1 Pillow库特点3.2 Pillow库安装 4、Pillow的Image对象&#xff08;PIL.Image&#xff09;4.1 Im…

Peter算法小课堂—区间模型(2)

上次咋们讲了前两个区间模型&#xff1a;1.最大不重叠区间数 2.不重叠区间最少分组数。今天我们就学习&#xff1a;最小区间覆盖问题、区间重叠最厚层数&#xff01; 最小区间覆盖 先看三道题 那么&#xff0c;第1题&#xff0c;它是浮点数的题&#xff0c;也就要求首尾相同。…

知识图谱 多模态学习 2024 最新综述

知识图谱遇见多模态学习&#xff1a;综述 论文题目&#xff1a;Knowledge Graphs Meet Multi-Modal Learning: A Comprehensive Survey 论文链接&#xff1a;http://arxiv.org/abs/2402.05391 项目地址&#xff1a;https://github.com/zjukg/KG-MM-Survey 备注&#xff1a;55…

Unresolved reference: kotlinx 和 Unresolved reference:xxx

Unresolved reference: kotlinx 这个报错是因为build.gradle中忘记apply plugin了 apply plugin: kotlin-android-extensions如下 同步以后再次编译发现报错 Unresolved reference:xxx 是因为用于使用 Gradle 构建的 Kotlin 版本与 IDE 插件中的版本不一样的原因 解决方法 …

剪辑视频衔接怎么操作 剪辑视频衔接过渡自然方法 剪辑视频教程新手入门 抖音剪辑短视频 会声会影视频制作教程

视频剪辑在现代社交媒体和数字媒体时代中变得越来越重要。它广泛应用于各种领域&#xff0c;包括电影制作、广告宣传、教育培训、社交媒体内容创作等。 一、剪辑视频衔接怎么操作 会声会影是一款功能强大、易于使用的视频编辑软件。接下来我们拿会声会影为例讲解剪辑视频如何…

二叉树的垂直遍历

1.题目 这道题是2024-2-13的签到题&#xff0c;题目难度为困难。 考察的知识点是DFS算法和自定义排序。 题目链接&#xff1a;二叉树的垂直遍历 给你二叉树的根结点 root &#xff0c;请你设计算法计算二叉树的 垂序遍历 序列。 对位于 (row, col) 的每个结点而言&#xff…

春节技术特辑:一体化运维管理系统,让节日更放心

随着春节的临近&#xff0c;各行各业都逐渐进入了节日模式。对于许多企业来说&#xff0c;春节期间是业务相对轻松的时期&#xff0c;但同时也是对IT系统稳定性要求极高的时期。在这个时刻&#xff0c;一套高效的一体化运维管理系统显得尤为重要&#xff0c;它能够帮助企业提升…

HotCoin Global: 澳洲双牌照持有平台,坚守全球合规之路

前言&#xff1a; 加密交易平台的合规性不仅是相关法规遵守的问题&#xff0c;更是市场透明度和用户公平性的关键。为促使加密市场的交易活动有规范、有秩序地进行&#xff0c;确保加密投资者的资产与交易安全&#xff0c;部分国家明确对加密资产的交易和经营活动进行监督及管…

C++ matplotlib 画图 Linux

Matplotlib-cpp画图 命令行下载matplotlibcpp git clone https://github.com/lava/matplotlib-cpp将matplotlibcpp.h移动到自己所用的工程 CMakeList.txt文件如下所示 cmake_minimum_required(VERSION 3.0.2) project(huatu)set(CMAKE_CXX_STANDARD 11)file(GLOB_RECURSE P…

生成树(习题)

模板】最小生成树 生成树有两种方法&#xff0c;但是我只会克鲁斯卡尔算法&#xff0c;所以接下来下面的的题目都是按照这个算法来实现的&#xff0c;首先来见一下生么是这个算法&#xff0c;在之前的我写的一篇博客中有题使叫修复公路&#xff0c;其实这一题就是使用了这个算…