查找最大元素
HDU 2025
Problem Description
对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。
Input
输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。
Output
对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入"(max)"。
Sample Input
abcdefgfedcba
xxxxx
Sample Output
abcdefg(max)fedcba
x(max)x(max)x(max)x(max)x(max)
代码
#include<iostream>
using namespace std;
int main(){
char str[105], max;
while(cin >> str){
max = 'a';
for(int i = 0; str[i]; i++){
if(str[i] > max){
max = str[i];
}
}
for(int i = 0; str[i]; i++){
cout << str[i];
if(str[i] == max){
cout << "(max)";
}
}
cout << endl;
}
return 0;
}
以下是小稽同学的一段代码
不知道为啥
现在知道是循环里的break语句的问题
好好按格式写吧
不要搞事情
但就是过不了
#include "stdio.h"
int main()
{
char a[700]={0},b[100],max;
int i;
while (scanf("%s",&a)!=EOF)
{
max=a[0];
for(i=1;;i++)
{
if(max<a[i])
max=a[i];
if(a[i+1]=='\0')
break;
}
for(i=0;;i++)
{
printf("%c",a[i]);
if(a[i]==max)
printf("(max)");
if(a[i+1]=='\0')
break;
}
printf("\n");
}
return 0;
}