HDOJ2025

该博客主要介绍了一道HDOJ的题目,内容涉及ACM竞赛中的字符串处理问题。博主详细解释了如何找出输入字符串中ASCII码最大的字母,并在此字母后插入'(max)'。实现方法是通过遍历字符串,比较每个字符的ASCII码,最终在符合条件的位置进行插入操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。

2.这里需要根据字符的ASCII码来判断,首先找到字符串里面ASCII码最大的那个字符,在另一个循环里面只要ASCII码跟最大的相等的就在后面加上“(max)”输出。

找到最大的字符:

for (int i = 0; i < m.length; i++) {
                char sum = n.charAt(i);
                if (sum > num) {
                    num = sum;
                }
            }
寻找每一个最大的然后输出:

for (int i = 0; i < m.length; i++) {
                char j = n.charAt(i);
                if (j == num) {
                    System.out.print(m[i] + "(max)");
                } else {
                    System.out.print(m[i]);
                }
            }
AC代码:

import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        String n;
        while (cin.hasNext()) {
            n = cin.nextLine();
            String m[] = n.split("");
            char num = 0;

            for (int i = 0; i < m.length; i++) {
                char sum = n.charAt(i);
                if (sum > num) {
                    num = sum;
                }
            }
            for (int i = 0; i < m.length; i++) {
                char j = n.charAt(i);
                if (j == num) {
                    System.out.print(m[i] + "(max)");
                } else {
                    System.out.print(m[i]);
                }
            }
            System.out.println("");
        }
    }
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值