zoukankan      html  css  js  c++  java
  • 查找最大元素

    解法一

    #include <iostream>

    #include <cstdio>

    #include <algorithm>

    #include <string.h>

    using namespace std;

    char a[1000];

    char b[1000];

    void fun(char a[],char* dest)  //实现将"(max)"加入dest所指的空间

    {

        char c[1000];

        strcpy(c,dest+1);

        *(dest+1)='';

        strcat(a,"(max)");

        strcpy(dest+6,c);   //注意这里是6

    }

    int main()

    {

        while(scanf("%s",&a)!=EOF)

        {

            int l=strlen(a);

            for(int i=0;i<l;i++)

                b[i]=a[i];

            sort(a,a+l);

            char x=a[l-1];      //先借助a数组的排序找到最大的那个字符

            for(int i=0;i<l;i++)

            {

                if(b[i]==x)

                {   

                    fun(b,&(b[i]));

                    i=i+5;l=l+5;    //不能在max里面在找,并且长度也应该随着数组的变化动态变化

                }

            }

            cout<<b<<endl;

            for(int i=0;i<1000;i++)  //为了防止上一次造成的影响,这里必须在处理下一个字符串之前清空原有的所有记录

            {

                a[i]='';b[i]='';

            }

        }

        return 0;

    }

    解法2(手动抄袭,果然还是一寸短一寸强)

    #include <stdio.h>

    #include<string.h>

    int main()

    {

        int i;

        char str[100],maxch;

        gets(str);

        maxch=str[0];

        for(i=0;str[i]!='';i++){

            if(str[i]>maxch){

                maxch=str[i];

            }

        }

        for(i=0;str[i]!='';i++){

            printf("%c",str[i]);

            if(str[i]==maxch){

                printf("(max)");

            }

        }

        printf(" ");

        return 0;

    }

    #include <stdio.h>

    #include<string.h>

    int main()

    {

        int i;

        char str[100],maxch;

        while(gets(str)!=EOF)

        {

            maxch=str[0];

            for(i=0;str[i]!='';i++)     //先用擂台法求出整个字符串中的最大字符maxch

            {

                if(str[i]>maxch)

                    maxch=str[i];

            }

            for(i=0;str[i]!='';i++)  //一个一个扫描,碰到最大字符,停止对字符串的输出,先输出“(max)",再接着输出原来的字符串

            {

                printf("%c",str[i]);

                if(str[i]==maxch)

                {

                    printf("(max)");

                }

            }

            printf(" ");

        }

        return 0;

    }

    这篇文章,是又一个故事的结束...
    lazy's story is continuing.
  • 相关阅读:
    Python+Apache环境搭建
    离线Python环境搭建
    Docker+Nginx+Vue部署
    Docker部署Flask
    Web服务器根据url参数代理
    javaweb各种框架组合案例(五):springboot+mybatis+generator
    javaweb各种框架组合案例(四):maven+spring+springMVC+spring data jpa(hibernate)【失败案例】
    在无界面centos7上部署MYSQL5.7数据库
    关于通过ip或者域名直接访问工程的问题
    在无界面centos7上部署jdk和tomcat
  • 原文地址:https://www.cnblogs.com/Hello-world-hello-lazy/p/13791893.html
Copyright © 2011-2022 走看看