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/


目录
相关文章
|
7月前
|
C++
C++选择结构
C++选择结构
100 0
|
7月前
|
C++
C++程序中的选择结构
C++程序中的选择结构
56 2
|
3月前
|
C++
【C++基础】程序流程结构详解
这篇文章详细介绍了C++中程序流程的三种基本结构:顺序结构、选择结构和循环结构,包括if语句、三目运算符、switch语句、while循环、do…while循环、for循环以及跳转语句break、continue和goto的使用和示例。
71 2
|
7月前
|
算法 测试技术 C++
【C++】map&set的底层结构 -- AVL树(高度平衡二叉搜索树)(下)
【C++】map&set的底层结构 -- AVL树(高度平衡二叉搜索树)(下)
|
7月前
|
C++ 容器
【C++】map&set的底层结构 -- AVL树(高度平衡二叉搜索树)(上)
【C++】map&set的底层结构 -- AVL树(高度平衡二叉搜索树)(上)
|
4月前
|
C++ 容器
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——AVL树
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——AVL树
46 5
|
4月前
|
C++
c++学习笔记03 程序流程结构
C++学习笔记,主要介绍了程序流程结构,包括顺序结构、选择结构和循环结构。选择结构中详细解释了if语句、三目运算符和switch语句的用法和注意事项。循环结构部分则涵盖了while循环、do-while循环和for循环的语法和使用技巧。此外,还介绍了跳转语句,包括break、continue和goto语句的用途和用法。
38 0
|
4月前
|
关系型数据库 C++ 容器
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——红黑树
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——红黑树
42 0
|
6月前
|
存储 测试技术 C++
C++中的结构
C++中的结构
30 2
|
6月前
|
算法 C++
C++中的结构应用:Josephus问题
C++中的结构应用:Josephus问题
55 1