(解题报告)HDU2025---查找最大元素

来源:互联网 发布:手机淘宝会员名怎么改 编辑:程序博客网 时间:2024/06/04 18:17

这个题就有意思了,其实找出最大值并不难,关键是如何将每个最大值后面都加上(max);
有两种方法:
第一种是直接在输出的时候控制,从前往后输出,每遇到一个最大的就在后面输出(max),这种方法很轻松,然而我在做的时候没有想过,而是用的第二种方法;
第二种就是从后往前的给(max)让位,每找到一个最大的就将其后面一个元素往后面挪位置,这种方法相对麻烦了,也不容易去调试,然而我第一次就直接这么做了2333~~
第二种代码如下:

#include <stdio.h>#include <string.h>int l;int findmax(char a[],int n){    int i,max=a[0];    for(i=0;i<n;i++)    {        if(a[i]>max)        {            max=a[i];        }    }    return max;}int main(){    char a[1000],maxchar;    int i;    while (scanf("%s",a)!=EOF)    {        l=strlen(a);        maxchar=findmax(a,l);        for(i=l-1;i>=0;i--)        {            if(a[i]==maxchar)            {                l=l+5;                for(int j=l+4;j>i;j--)                {                    a[j]=a[j-5];                }                a[i+1]='(';                a[i+2]='m';                a[i+3]='a';                a[i+4]='x';                a[i+5]=')';            }        }        for(i=0;i<l;i++)        {            printf("%c",a[i]);        }           printf("\n");        memset(a,0,sizeof(a));    }    return 0;} 

第一种直接在找出最大值后输出即可!
仅代表个人观点!
这里写图片描述

0 0
原创粉丝点击