C/C++每日一练(20230331)-LMLPHP

目录

1. 最后一个单词的长度  ※

2. 水果计费系统  ※

3. 条件分支结构  ※

🌟 每日一练刷题专栏 🌟

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏


标注 ※ 为最基础的题目。

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/

03-31 11:38