首页 > ACM题库 > HDU-杭电 > hdu 2025 查找最大元素[解题报告]C++
2013
12-26

hdu 2025 查找最大元素[解题报告]C++

查找最大元素

问题描述 :

对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。

输入:

输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。

输出:

输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。

样例输入:

abcdefgfedcba
xxxxx

样例输出:

abcdefg(max)fedcba
x(max)x(max)x(max)x(max)x(max)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2025

会寝室不想看书,没事刷刷水题,嘿嘿。题目没什么好说的,写过了看看网上的代码觉得都差不多,稍稍修改下,直接贴上。

代码:

#include<stdio.h>
#include<string.h>
int main()
{
	char max,str[101];
	int len,i;
	while(~scanf("%s",str))
	{
		len=strlen(str);
		max='a';
		for(i=0;i<=len-1;i++)
		{
			if(str[i]>max)
			{
				max=str[i];
			}
		}
		for(i=0;i<=len-1;i++)
		{
			printf("%c",str[i]);
			if(str[i]==max)
			{
				printf("(max)");
			}
		}
		printf("\n");
	}
	return 0;
}

解题转自:http://blog.csdn.net/a_eagle/article/details/7176690


  1. 第二个方法挺不错。NewHead代表新的头节点,通过递归找到最后一个节点之后,就把这个节点赋给NewHead,然后一直返回返回,中途这个值是没有变化的,一边返回一边把相应的指针方向颠倒,最后结束时返回新的头节点到主函数。