写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。- 多语言

目录

C 语言实现

方法 1: 定义 length() 函数

方法 2: 使用 strlen() 函数

方法 3: 指针遍历

Python 实现 

方法 1: 使用 length() 函数

方法 2: 使用循环

方法 3: 使用 map() 和 sum()

方法 4: 使用 collections.Counter

Java 实现

方法 1: 使用 length() 函数实现

方法 2: 使用循环

方法 3: 使用 StringBuilder

方法 4: 使用 Stream API

Js 实现


题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

C 语言实现

方法 1: 定义 length() 函数

首先,length 函数的定义应该在 main 函数之前,或者在 main 函数之前进行函数声明。其次,scanf 函数在读取字符串时没有限制输入长度,可能会导致缓冲区溢出。最后,建议在输出字符串长度时添加换行符以提高可读性。

#include <stdio.h>
#include <stdlib.h>

// 函数声明
int length(char *s);

int main()
{
    int len;
    char str[20];
    printf("请输入字符串:\n");
    scanf("%19s", str); // 限制输入长度,防止缓冲区溢出
    len = length(str);
    printf("字符串有 %d 个字符。\n", len); // 添加换行符
    return 0; // 返回 0 表示程序正常结束
}

// 求字符串长度  
int length(char *s)  
{  
    int i = 0;
    while (*s != '\0')  
    {  
        i++;   
        s++;  
    }  
    return i;  
}
  1. 函数声明:在 main 函数之前声明 length 函数,以便编译器知道它的存在。
  2. 输入限制:在 scanf 中使用 %19s,这样可以限制输入的最大长度为 19 个字符,留出一个字符的位置给字符串结束符 \0
  3. 换行符:在输出字符串长度时添加了换行符 \n,使输出更整洁。
  4. 返回值:在 main 函数的末尾添加了 return 0;,表示程序正常结束。

方法 2: 使用 strlen() 函数

C 语言标准库中已经提供了一个函数 strlen,可以用来计算字符串的长度。使用 strlen 可以使代码更加简洁和易读。

#include <stdio.h>
#include <string.h> // 包含 strlen 函数的头文件

int main()
{
    char str[20];
    printf("请输入字符串:\n");
    scanf("%19s", str); // 限制输入长度,防止缓冲区溢出
    int len = strlen(str); // 使用 strlen 函数计算字符串长度
    printf("字符串有 %d 个字符。\n", len); // 添加换行符
    return 0; // 返回 0 表示程序正常结束
}
  1. 包含头文件:使用 #include <string.h> 来包含字符串处理函数的头文件。
  2. 使用 strlen:直接调用 strlen 函数来计算字符串的长度,简化了代码。

方法 3: 指针遍历

#include <stdio.h>

int length(char *s) {
    char *p = s; // 使用指针遍历
    while (*p) {
        p++;
    }
    return p - s; // 返回指针差值,即长度
}

int main() {
    char str[20];
    printf("请输入字符串:\n");
    scanf("%19s", str);
    int len = length(str);
    printf("字符串有 %d 个字符。\n", len);
    return 0;
}

Python 实现 

方法 1: 使用 length() 函数

def length(s):
    return len(s)

def main():
    str_input = input("请输入字符串:\n")  # 获取用户输入
    len_str = length(str_input)  # 计算字符串长度
    print(f"字符串有 {len_str} 个字符。")  # 打印字符串长度

if __name__ == "__main__":
    main()  # 调用主函数
  1. 函数定义: length(s) 使用 Python 内置的 len() 函数来计算字符串的长度。
  2. 主函数:
    • 使用 input() 函数获取用户输入的字符串。
    • 调用 length 函数计算字符串长度。
    • 使用 print() 函数输出字符串的长度。

方法 2: 使用循环

def length(s):
    count = 0
    for char in s:
        count += 1
    return count

def main():
    str_input = input("请输入字符串:\n")  # 获取用户输入
    len_str = length(str_input)  # 计算字符串长度
    print(f"字符串有 {len_str} 个字符。")  # 打印字符串长度

if __name__ == "__main__":
    main()  # 调用主函数

方法 3: 使用 map()sum()

def length(s):
    return sum(map(lambda x: 1, s))  # 对每个字符返回 1,然后求和

def main():
    str_input = input("请输入字符串:\n")  # 获取用户输入
    len_str = length(str_input)  # 计算字符串长度
    print(f"字符串有 {len_str} 个字符。")  # 打印字符串长度

if __name__ == "__main__":
    main()  # 调用主函数

方法 4: 使用 collections.Counter

from collections import Counter

def length(s):
    return sum(Counter(s).values())  # 统计字符出现次数并求和

def main():
    str_input = input("请输入字符串:\n")  # 获取用户输入
    len_str = length(str_input)  # 计算字符串长度
    print(f"字符串有 {len_str} 个字符。")  # 打印字符串长度

if __name__ == "__main__":
    main()  # 调用主函数

Java 实现

方法 1: 使用 length() 函数实现

import java.util.Scanner;

public class StringLength {
    
    // 计算字符串长度的方法
    public static int length(String s) {
        return s.length(); // 使用 String 类的 length() 方法
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); // 创建 Scanner 对象以获取用户输入
        System.out.println("请输入字符串:"); // 提示用户输入
        String strInput = scanner.nextLine(); // 读取用户输入的字符串
        int lenStr = length(strInput); // 计算字符串长度
        System.out.printf("字符串有 %d 个字符。\n", lenStr); // 打印字符串长度
        scanner.close(); // 关闭 Scanner 对象
    }
}
  1. 导入 Scanner 类: import java.util.Scanner; 用于获取用户输入。
  2. 类定义: public class StringLength 定义了一个名为 StringLength 的公共类。
  3. 计算字符串长度的方法: public static int length(String s) 使用 String 类的 length() 方法来计算字符串的长度。
  4. 主方法:
    • 创建 Scanner 对象以读取用户输入。
    • 使用 nextLine() 方法读取整行输入。
    • 调用 length 方法计算字符串长度。
    • 使用 System.out.printf 打印字符串的长度。
    • 最后,关闭 Scanner 对象以释放资源。

方法 2: 使用循环

您可以手动遍历字符串中的每个字符并计数:

import java.util.Scanner;

public class StringLength {
    
    // 计算字符串长度的方法
    public static int length(String s) {
        int count = 0;
        for (char c : s.toCharArray()) { // 将字符串转换为字符数组
            count++;
        }
        return count;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入字符串:");
        String strInput = scanner.nextLine();
        int lenStr = length(strInput);
        System.out.printf("字符串有 %d 个字符。\n", lenStr);
        scanner.close();
    }
}

方法 3: 使用 StringBuilder

您可以使用 StringBuilder 来构建字符串并计算长度:

import java.util.Scanner;

public class StringLength {
    
    // 计算字符串长度的方法
    public static int length(String s) {
        StringBuilder sb = new StringBuilder(s);
        int count = 0;
        while (sb.length() > 0) {
            sb.deleteCharAt(0); // 删除第一个字符
            count++;
        }
        return count;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入字符串:");
        String strInput = scanner.nextLine();
        int lenStr = length(strInput);
        System.out.printf("字符串有 %d 个字符。\n", lenStr);
        scanner.close();
    }
}

方法 4: 使用 Stream API

如果您使用的是 Java 8 或更高版本,可以使用 Stream API 来计算字符串的长度:

import java.util.Scanner;

public class StringLength {
    
    // 计算字符串长度的方法
    public static int length(String s) {
        return (int) s.chars().count(); // 使用 Stream API 计算字符数量
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入字符串:");
        String strInput = scanner.nextLine();
        int lenStr = length(strInput);
        System.out.printf("字符串有 %d 个字符。\n", lenStr);
        scanner.close();
    }
}

Js 实现

// 计算字符串长度的函数
function length(s) {
    let count = 0;
    for (let char of s) {
        count++;
    }
    return count;
}

// 主函数
function main() {
    const strInput = prompt("请输入字符串:"); // 获取用户输入
    const lenStr = length(strInput); // 计算字符串长度
    console.log(`字符串有 ${lenStr} 个字符。`); // 打印字符串长度
}

// 调用主函数
main();
  1. 计算字符串长度的函数: function length(s) 使用 for...of 循环遍历字符串中的每个字符并计数。
  2. 主函数:
    • 使用 prompt() 函数获取用户输入的字符串。
    • 调用 length 函数计算字符串长度。
    • 使用 console.log() 打印字符串的长度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赔罪

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值