提交时间:2026-04-26 16:01:06
运行 ID: 438117
#include <iostream> #include <bits/stdc++.h> #include <string> using namespace std; int main() { string s; getline(cin, s); // 读取整行输入(包含特殊字符) int max_num = INT_MIN; // 存储最大的整数 int max_pos = 0; // 存储最大整数的起始位置(从1开始) int n = s.size(); // 字符串长度 int i = 0; while (i < n) { // 找到第一个数字字符 if (isdigit(s[i])) { int start = i; // 记录整数起始索引(从0开始) long long num = 0; // 用long long防止数字过大溢出 // 提取连续的数字,转换为整数 while (i < n && isdigit(s[i])) { num = num * 10 + (s[i] - '0'); i++; } // 题目要求:整数不会以0开头,所以直接判断有效 if (num > max_num) { max_num = num; max_pos = start + 1; // 转换为题目要求的1开始计数 } } else { // 非数字字符,直接跳过 i++; } } // 输出最大整数的起始位置 cout << max_pos << endl; return 0; }