编程介的小学生 2019-04-03 01:07 采纳率: 20.5%
浏览 1357

查找其中的最大字母,在该字母后面插入字符串“(max)”,C语言编写代码的做法

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)

  • 写回答

1条回答 默认 最新

  • MuShenSiMei 2019-04-08 13:18
    关注

    C语言程序如下

    /********/

    #include
    #include
    #include
    #include
    int main()
    {
    int i;
    int lss=0; /*s1的长度*/
    char s[20]; /*存放输入的字符串*/
    char s1[10]; /*辅助运算*/
    char s2[150]; /*存放计算结果*/
    printf("请输入字符串: \n");
    scanf("%s",&s);
    int sl= strlen(s);
    printf("\n\n下面是运行过程的输出\n");
    printf("字符串%s长度 %i\n", s,sl);
    /*查看字符串读取是否与输入一致*/
    /*并且输出字符串长度 /
    int sm=0;

    char sc=1;
    for( i=0 ; i<sl ; i++) /
    计算ascii码最大的字符*/
    { if(sc<s[i])
    {sc=s[i] ; sm=sm+1;}
    }

    printf("字符串%s 位置%i 字符%c\n", s,sm,sc);
    for( i=0 ; i<sl ; i++)
    { if(sc!=s[i])
    { strncpy(s1,s+i,1);
    strcat(s2,s1);
    lss=strlen(s1);
    memset(s1,0,lss);
    printf("s2= %s\n",s2);
    }
    if(sc==s[i])
    { strncpy(s1,s+i,1);
    strcat(s2,s1);
    lss=strlen(s1);
    memset(s1,0,lss);
    printf("s2=%s\n",s2);

    strcat(s2,"(max)");
    printf(" s2=%s\n",s2);

    }
    }

    printf(" s= %s, s2= %s\n",s,s2);
    printf("\n\n最后结果 字符串s2:\n%s \n",s2);
    printf("程序结束 ");
    return 0;
    }

    经手机编译器测试可以实现题目的两个例子

    评论

报告相同问题?

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程