牛客网C基础题目练习1

news2024/11/18 6:28:20

目录

题目1:竞选社长

题目2:最高分数

题目3:判断是元音还是辅音

题目4:判断是不是字母

题目5:字母大小写转换

题目1:竞选社长

💭法1:使用字符串数组

代码实现:

int main()
{
    char arr[100]={0};
    scanf("%s",arr);
    int count1 = 0;
    int count2 = 0;
    int sz = sizeof(arr)/sizeof(arr[0]);
    for(int i = 0;i<sz;i++)
    {
        if(arr[i]=='A')
        {
            count1++;
        }
        else if(arr[i]=='B')
        {
            count2++;
        }
        else if(arr[i]=='\0')
        {
            break;
        }
    }
    if(count1==count2)
    {
        printf("E\n");
    }
    else if(count1>count2)
    {
        printf("A\n");
    }
    else 
    {
        printf("B\n");
    }
    return 0;
}

💭 法2:使用gets函数获取字符串

int main()
{
    char buf[100]={0};
    gets(buf);
    int count1 = 0;
    int count2 = 0;
    int i = 0;
    while(buf[i]!='\0')
    {
        if(buf[i]=='A')
            count1++;
        if(buf[i]=='B')
            count2++;
        i++;
    }
    if(count1==count2)
    {
        printf("E\n");
    }
    else if(count1>count2)
    {
        printf("A\n");
    }
    else 
    {
        printf("B\n");
    }
    return 0;
}

💭 法3:只定义一个变量来统计票多少

代码实现:

int main()
{
    char buf[100]={0};
    gets(buf);
    int flag = 0;
    int i = 0;
    while(buf[i]!='\0')
    {
        if(buf[i]=='A')
            flag++;
        if(buf[i]=='B')
            flag--;
        i++;
    }
    if(flag==0)
    {
        printf("E\n");
    }
    else if(flag>0)
    {
        printf("A\n");
    }
    else 
    {
        printf("B\n");
    }
    return 0;
}

💭 法4:逐个字符读取

代码实现:

int main()
{
    int ch = 0;
    int flag = 0;
    while((ch=getchar())!='\0'&&ch!=EOF)
    {
        if(ch=='A')
        {
             flag++;
        }
        if(ch=='B')
        {
             flag--;
        }
    }
    if(flag==0)
    {
        printf("E\n");
    }
    else if(flag>0)
    {
        printf("A\n");
    }
    else if(flag<0)
    {
        printf("B\n");
    }
    return 0;
}

题目2:最高分数

💭 法1:定义整型变量存储数据

代码实现:

int main()
{
    int n1 = 0;
    int n2 = 0;
    int n3 = 0;
    while(~scanf("%d %d %d",&n1,&n2,&n3))
    {
        int max = n1>n2?n1:n2;
        max=max>n3?max:n3;
        printf("%d\n",max);
    }
    return 0;
}

💭 法2:定义数组存储数据

代码实现:

int main()
{
    int num[3]={0};
    while(~scanf("%d %d %d",&num[0],&num[1],&num[2]))
    {
        int max = 0;
        int i = 0;
        for(i=0;i<3;i++)
        {
            if(num[i]>max)
            {
                max = num[i];
            }
        }
        printf("%d\n",max);
    }
    return 0;
}

题目3:判断是元音还是辅音

💭 法1 常规解题

代码实现:

int main()
{
    int ch = 0;
    char vowel[20]="AaEeIiOoUu";
    int i = 0;
    while((ch=getchar())!=EOF)
    {
        getchar();//读取回车字符
        for(i=0;i<10;i++)
        {
            if(ch==vowel[i])
            {
                printf("Vowel\n");
                break;
            }
        }
        if(i==10)
        {
            printf("Consonant\n");
        }
    }
    return 0;
}

💭 法2:使用strchr库函数,判断一个字符串里面是否出现该字符

如果存在返回该字符在字符串中的地址,如果不存在返回空指针。

代码实现:

#include <stdio.h>
#include <string.h>
int main()
{
    int ch = 0;
    char vowel[20]="AaEeIiOoUu";
    int i = 0;
    while((ch=getchar())!=EOF)
    {
        getchar();
        if(strchr(vowel,ch))
        {
            printf("Vowel\n");
        }
        else 
        {
            printf("Consonant\n");
        }
    }
    return 0;
}
#include <stdio.h>
#include <string.h>
int main()
{
    int ch = 0;
    char vowel[20]="AaEeIiOoUu";
    int i = 0;
    while((scanf(" %c",&ch))!=EOF) 
    //%c前面空格处理字符前面的空白字符,也就是消除\n
    {
        //getchar();
        if(strchr(vowel,ch))
        {
            printf("Vowel\n");
        }
        else 
        {
            printf("Consonant\n");
        }
    }
    return 0;
}
%c前面加上空格,会消化掉前面所有的空白字符,然后读取下一个字符
#include <stdio.h>
#include <string.h>
int main()
{
    int ch = 0;
    char vowel[20]="AaEeIiOoUu";
    int i = 0;
    while((scanf("%c\n",&ch))!=EOF) 
    {
        if(strchr(vowel,ch))
        {
            printf("Vowel\n");
        }
        else 
        {
            printf("Consonant\n");
        }
    }
    return 0;
}
在%c的后边加一个\n,其实在输入时候就会消化掉\n字符,不会在下次读取字符时留下隐患。

题目4:判断是不是字母

💭 法1:常规解题

代码实现:

int main()
{
    char ch = 0;
    while((scanf("%c\n",&ch))!=EOF)
    {
        if((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z'))
        printf("%c is an alphabet.\n",ch);
        else
        printf("%c is not an alphabet.\n",ch);
    }
    return 0;
} 

💭 法2:isalpha库函数判断是不是字母

#include <stdio.h>
#include <ctype.h>
int main()
{
    char ch = 0;
    while((scanf("%c\n",&ch))!=EOF)
    {
        if(isalpha(ch))
        printf("%c is an alphabet.\n",ch);
        else
        printf("%c is not an alphabet.\n",ch);
    }
    return 0;
} 
如果ch是字母,返回非零数字,如果ch不是字母,返回0

题目5:字母大小写转换

💭 isupper库函数判断字母是否为大写字母

islower库函数判断字母是否为小写字母

tolower库函数转小写字母

toupper库函数转大写字母

代码实现:

#include <stdio.h>
#include <ctype.h>
int main()
{
    char ch = 0;
    while((scanf("%c\n",&ch))!=EOF)
    {
        if(isupper(ch))//判断是否为大写
        printf("%c\n",tolower(ch));//将大写转换为小写
        if(islower(ch))//判断是否为小写
        printf("%c\n",toupper(ch));//将小写转换为大写
    }
    return 0;
}
注意:
本题中使用的所有库函数全部用于处理字符,不能处理字符串

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

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

相关文章

【按位考虑DP】代码源每日一题div1 2023.02.02 与

与 - 题目 - Daimayuan Online Judge这太酷了&#xff0c;很符合我对DP的想象这DP太妙了&#xff0c;我还没做过这种按位考虑DP的题题意&#xff1a;思路&#xff1a;首先看第二个条件&#xff0c;一个数与后面的那个数与了之后还是后面那个数&#xff0c;这说明什么我们按位考…

快速入门KMM和Compose Multiplatform

一、前言 最近才有空&#xff0c;想起来Compose-jb和kmm这2个框架&#xff0c;就来个快速入门指南吧。 什么是KMM (Kotlin Multiplatform Mobile) KMM用于简化跨平台开发&#xff0c;可以在Android和IOS之间共享通用的代码。 仅在使用各自平台能力的时候&#xff0c;才会去编…

解决前端组件渲染没更新数据问题

问题&#xff1a; 使用前端日期控件时 - 数据联动时数据绑定无效问题 现象&#xff1a; 选择A日期&#xff0c;想动态改变B日期数据&#xff0c;只有第一次选择时会动态改变B日期数据&#xff0c;第二次选择A日期时&#xff0c;B日期数据虽已改变&#xff0c;但是页面数据未改变…

电子邮件备份软件:Email Backup Wizard Crack

适用于所有用户的电子邮件备份软件 在您的计算机、台式机或硬盘驱动器上本地创建您的电子邮件帐户的备份。 下载并保存电子邮件以备后用。 如果您想备份和移动服务器电子邮件&#xff0c;请尽快获取备份工具。 通过简单直观的功能获得强大的结果 苹果系统邮箱备份向导 - 批量下…

C++ · 类和对象 · 03 | 深化理解

啊我摔倒了..有没有人扶我起来学习.... &#x1f471;个人主页&#xff1a;《CGod的个人主页》\color{Darkorange}{《CGod的个人主页》}《CGod的个人主页》交个朋友叭~ &#x1f492;个人社区&#xff1a;《编程成神技术交流社区》\color{Darkorange}{《编程成神技术交流社区》…

Python tkinter -- 第18章 画布控件之椭圆

**18.2.18 create_oval(bbox, options) 根据限定矩形 bbox 在画布上创建一个椭圆。 &#xff08;1&#xff09;bbox&#xff1a;定义要创建对象的边界(x1, y1, x2, y2) &#xff08;2&#xff09;options:创建椭圆的选项。选项的具体含义&#xff1a; 选项含义activedash当鼠标…

微信小程序+前端+天行数据垃圾图像识别接口API

文章目录 前言 步骤 1. 去到天行数据官网注册账号&#xff0c;去到接口的介绍网站 2. 去测试网站&#xff0c;先看看请求的格式 3. 小程序端我采用的是把网站上的url链接的网络图片转成base64编码后的形式作为传入参数&#xff0c;这里需要有点基础&#xff0c;因为只给上了…

JVM基础 - 类加载的过程

类加载的过程加载验证准备解析初始化使用卸载其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中&#xff0c;加载、验证、准备和初始化这四个阶段发生的顺序是确定的。而解析阶段则不一定&#xff0c;它在某些情况下可以在初始化阶段之后开始&…

RFID技术在生产企业的集成应用分析

RFID技术在生产企业的集成应用分析1.RFID的主要功能RFID自动识别功能RFID标签的主要核心部件是一个电子芯片&#xff0c;芯片中存储着能够识别目标的信息。RFID标签具有持久性、信息接收传播穿透性强、存储信息容量大、种类多等特点。有些RFID标签支持读写功能&#xff0c;目标…

CHAPTER 15 Mesos(一)

Mesos-优秀的集群资源调度平台15.1 Mesos简介15.2 Mesos安装与使用1. 安装1. 源码编译2. 软件源安装3. Docker方式安装2. 配置说明1. ZooKeepr2. Mesos3. Marathon3.访问Mesos图形界面4.访问Marathon图形界面1. 通过界面方式2. REST API方式15.3 原理与架构1. 架构2. 基本单元3…

CentOS7中安装Hadoop3详细步骤

目录 (一)新建一个虚拟机 (二)配置网络 (三)安装vim工具 (四)设置ssh免密登录 (五)设置时间同步 (六)修改主机名 1.方法一 2.方法二 (七)给主机文件添加IP名称映射 (八)安装JDK8 (九)安装Hadoop 1.打开Xftp&#xff0c;连接虚拟机&#xff0c;在/opt目录下新建两个…

[引擎开发] 现代图形API - metal篇

Metal是苹果开发的图形计算接口&#xff0c;它是在移动端出现的比较早的现代图形API。本文将更侧重于移动端&#xff08;IOS&#xff09;&#xff0c;对metal的API做一个大致的引入介绍。 Apple GPU概述 在我们对Metal进行介绍前&#xff0c;先来了解一下Apple GPU。 Apple GP…

Linux常用命令——printf命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) printf 格式化并输出结果 补充说明 printf命令格式化并输出结果到标准输出。 语法 printf(选项)(参数) --help&#xff1a;在线帮助&#xff1b; --version&#xff1a;显示版本信息。参数 输出格式&#x…

第1讲 谈谈你对Java平台的理解?

第1讲 | 谈谈你对Java平台的理解&#xff1f; 从你接触 Java 开发到现在&#xff0c;你对 Java 最直观的印象是什么呢&#xff1f;是它宣传的 “Write once, run anywhere”&#xff0c;还是目前看已经有些过于形式主义的语法呢&#xff1f;你对于 Java 平台到底了解到什么程度…

《你不会还没入门jvm调优吧》之前置知识

该文章为科普文&#xff0c;所以很多细节涉及不到&#xff0c;旨在指引入门&#xff0c;同事在聊的时候不至于插不上话&#xff0c;顺带回顾部分JVM相关知识。准备好了吗&#xff0c;开始发车。如有不正确的地方&#xff0c;欢迎批评指正。 目录 JVM调优调的到底是什么 回顾…

Linux(CentOS 7)--gdb的基本调试指令

一下面的代码为例介绍一下linux中&#xff0c;gdb调试的基本指令 创建一个文件myfile.c&#xff0c;文件代码内容如下 1 #include <stdio.h>2 3 int Add(int x, int y)4 {5 6 return xy; …

高性能消息队列中间件MQ_part2

接上一篇part1的内容 RabbitMQ通配符模式_编写消费者 接下来我们编写通配符模式的消费者&#xff1a; // 站内信消费者 public class Customer_Station {public static void main(String[] args) throws IOException, TimeoutException {// 1.创建连接工厂ConnectionFactory…

springboot引入flink,maven打包插件需替换

目录说明说明 springboot引入flink后&#xff0c;如果要打包&#xff0c;传统的maven不行&#xff0c;要更换指定插件 <build><finalName>flink</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><art…

CMake 混编c和c++代码

准备工作 wsl 或者 有linux 系统(购买阿里云或者其他云服务器&#xff09;cmake, gcc, git 等一些必要的软件安装 环境 windows 下 的 wsl wsl 安装下载 例子 拿 Unix网络编程 举例, 作者对原生接口进行了封装, 我们需要编译使用在自己的工程 1. 创建空文件 cd E:\githu…

网络流量监控对OA系统性能分析案例

需求简介 某外高桥公司的OA系统是其重要的业务系统&#xff0c;OA系统负责人表示&#xff0c;部分用户反馈&#xff0c;访问OA系统时比较慢。需要通过分析系统看一下实际情况。 报告内容 本报告内容主要为&#xff1a;OA性能整体分析 分析时间 报告分析时间范围为&#xf…