首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

OJ題解:查找最大元素 - 字串中最大字元後插入標記

     編輯:關於C語言

題目要求

對每行輸入字串(僅含字母,長度≤100),找出ASCII碼最大的字元,在每個最大字元後插入 (max)。

演算法:兩遍掃描

  1. 第一遍:找出最大字元 max_char
  2. 第二遍:輸出字元,若等於 max_char 則補輸出 (max)

完整原始碼

#include <stdio.h>
#include <string.h>

int main() {
    char s[101];
    while (fgets(s, sizeof(s), stdin)) {
        int len = strlen(s);
        if (len > 0 && s[len-1] == '\n') s[--len] = '\0';  // 移除換行
        char max_c = s[0];
        for (int i = 1; i < len; i++)
            if (s[i] > max_c) max_c = s[i];
        for (int i = 0; i < len; i++) {
            putchar(s[i]);
            if (s[i] == max_c) printf("(max)");
        }
        putchar('\n');
    }
    return 0;
}

範例

輸入: abcdefgfedcba
最大字元: g (ASCII 103)
輸出: abcdefg(max)fedcba ✓

輸入: xxxxx
最大字元: x
輸出: x(max)x(max)x(max)x(max)x(max) ✓

關鍵細節

  • fgets 讀取含換行,需手動移除
  • 大小寫字母 ASCII:A-Z (65-90) a-z (97-122),小寫較大
  • 多個最大字元全標記
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved