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

查找最大元素:C 語言字串處理與 ASCII 比較實戰

     編輯:關於C

問題描述

讀取多行字串(僅含字母,長度 ≤ 100),找出 ASCII 碼最大的字元,在每個最大字元後插入 (max) 輸出。若有多個相同最大字元,全部插入。

演算法步驟

  1. 用 gets() 讀取整行(含空格)
  2. 第一遍掃描找出 max 字元
  3. 第二遍掃描輸出,遇到 max 即印出 (max)

完整程式碼

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

int main() {
    int i, length;
    char max, string[100];

    while (gets(string) != NULL) {
        length = strlen(string);
        max = string[0];

        for (i = 0; i < length; i++)
            if (string[i] > max) max = string[i];

        for (i = 0; i < length; i++) {
            printf("%c", string[i]);
            if (string[i] == max) printf("(max)");
        }
        printf("\n");
    }
    return 0;
}

安全性提醒

gets() 已被 C11 標準移除,存在緩衝區溢位風險。實務上應改用 fgets(string, sizeof(string), stdin) 並手動移除換行符。

測試範例

Input:
abcdefgfedcba
xxxxx

Output:
abcdefg(max)fedcba
x(max)x(max)x(max)x(max)x(max)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved