C/C++每日一练(20230331) 单词长度、水果计费、条件分支结构

简介: C/C++每日一练(20230331) 单词长度、水果计费、条件分支结构

标注 ※ 为最基础的题目。

1. 最后一个单词的长度

给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。

单词 是指仅由字母组成、不包含任何空格字符的最大子字符串

示例 1:

输入:s = "Hello World"

输出:5

示例 2:

输入:s = " "

输出:0


提示:

  • 1 <= s.length <= 10^4
  • s 仅有英文字母和空格 ' ' 组成

出处:

https://edu.csdn.net/practice/24290103

代码:

#include <stdio.h>
#include <stdlib.h>
int lengthOfLastWord(char *s)
{
    int len = 0;
    while (*s != '\0')
    {
        if (s[-1] == ' ' && s[0] != ' ')
        {
            len = 1;
        }
        else if (*s != ' ')
        {
            len++;
        }
        s++;
    }
    return len;
}
int main()
{
    printf("%d\n", lengthOfLastWord("Hello World"));
    return 0;
}

输出:

5
C++实现:
#include <iostream>
#include <string>
using namespace std;
int lengthOfLastWord(string s) {
    int len = s.length();
    int lastWordLen = 0;
    for (int i = len - 1; i >= 0; i--) {
        if (s[i] != ' ') {
            lastWordLen++;
        } else if (lastWordLen > 0) {
            break;
        }
    }
    return lastWordLen;
}
int main() {
    string s = "Hello World";
    cout << lengthOfLastWord(s) << endl; // 输出 5
    return 0;
}

字符串的末尾开始遍历,如果遇到空格,则判断当前是否已经遍历到了最后一个单词的末尾,如果是,则返回最后一个单词的长度。如果不是,则继续遍历。如果遇到非空格字符,则将最后一个单词的长度加1。最后,如果整个字符串中没有单词,则返回0。

2. 水果计费系统

编写程序,有五种水果,apple、banana、orage、strawberry、pear,每一种有一个价格(浮点小数),由老板输入,请提示用户选择什么水果,购买数量(按照斤两),然后将总价显示出来。

出处:

https://edu.csdn.net/practice/24290104

代码:

#include<stdio.h>
int main()
{
    typedef enum {apple, banana, orange, strawberry, pear} fruits;
    double prices[5];             
    fruits purchase;             
    int fruit;                   
    double amount;               
    printf("水果编号:1.苹果  2.香蕉  3.橘子  4.草莓  5.梨\n");
    printf("请输入5种水果的单价:\n");
    for(int i = 0; i < 5; i++)
        scanf("%lf", &prices[i]);
    printf("请输入购买的水果(1~5),以及购买数量(按照斤两):\n");
    scanf("%d %lf", &fruit, &amount);
    purchase = (fruits)fruit;     
    printf("总价为:%.3lf", prices[purchase-1]*amount);
    return 0; 
}

输入输出:

水果编号:1.苹果  2.香蕉  3.橘子  4.草莓  5.梨

请输入5种水果的单价:

2.2 3.3 4.4 5.5 6.6

请输入购买的水果(1~5),以及购买数量(按照斤两):

2 100

总价为:330.000


3. 条件分支结构

原标题:if else 和 switch 使用

输入学生成绩, 若成绩在95分以上,输出“A”;

若成绩在85~94分,输出“B”;

若成绩在75~84分,输出“C”;

若成绩在65~74分,输出“D”;

若成绩在65分以下,输出“E”。(分别用if else 和 switch 语句完成)

出处:

https://edu.csdn.net/practice/24290105

代码:

#include "stdio.h"
int main()
{
    int score;
    scanf("%d", &score);
    if (score >= 95)
    {
        printf("A");
    }
    else if (score >= 85 && score <= 94)
    {
        printf("B");
    }
    else if (score >= 75 && score <= 84)
    {
        printf("C");
    }
    else if (score >= 65 && score <= 74)
    {
        printf("D");
    }
    else
    {
        printf("E");
    }
    printf("\n以下用switch语句实现相同功能\n");
    score = score - 5;
    score = score / 10;
    switch (score)
    {
    case 9:
        printf("A");
        break;
    case 8:
        printf("B");
        break;
    case 7:
        printf("C");
        break;
    case 6:
        printf("D");
        break;
    default:
        printf("E");
        break;
    }
}

输出:


🌟 每日一练刷题专栏 🌟

持续,努力奋斗做强刷题搬运工!

👍 点赞,你的认可是我坚持的动力!

🌟 收藏,你的青睐是我努力的方向!

评论,你的意见是我进步的财富!  

主页:https://hannyang.blog.csdn.net/


目录
相关文章
|
20天前
|
C语言 C++
C/C++ 自定义头文件,及头文件结构详解
还是从"stdio.h"说起,这是C语言中内置的标准库,也就是说,头文件很多时候其实就是一个“库”,类似于代码的仓库,也就是说将某些具有特定功能的常量、宏、函数等归为一个大类,然后放进这个“仓库”,就像stdio.h就是一个标准输入/输出的头文件
28 1
C4.
|
1月前
|
算法 程序员 C++
C++标准头文件结构
C++标准头文件结构
C4.
24 0
|
6天前
|
存储 搜索推荐 C++
【C++高阶(二)】熟悉STL中的map和set --了解KV模型和pair结构
【C++高阶(二)】熟悉STL中的map和set --了解KV模型和pair结构
|
21天前
|
程序员 C语言 C++
C++流程结构
C++流程结构
|
1月前
|
存储 程序员 C语言
【C/C++ 数据结构 】二维数组结构解析
【C/C++ 数据结构 】二维数组结构解析
44 0
|
1月前
|
存储 算法 C语言
【C/C++ 链表结构】探索链表迭代器:C++实现的深入分析与优化策略
【C/C++ 链表结构】探索链表迭代器:C++实现的深入分析与优化策略
39 0
|
1月前
|
存储 算法 C++
【C++ map结构 】std::map 和 std::unordered_map 在使用上的差异
【C++ map结构 】std::map 和 std::unordered_map 在使用上的差异
22 0
|
1月前
|
存储 算法 C++
【C++ 包装器类 map】C++ 标准库(std)中的map结构 哈希表(unordered_map)和黑红树(map)教程
【C++ 包装器类 map】C++ 标准库(std)中的map结构 哈希表(unordered_map)和黑红树(map)教程
85 1
|
1月前
|
C++
C++控制结构
C++控制结构
|
1月前
|
存储 安全 Linux
C++文件格式深度解析:从底层结构到关键特性
C++文件格式深度解析:从底层结构到关键特性
251 3
C++文件格式深度解析:从底层结构到关键特性