zoukankan      html  css  js  c++  java
  • 计算机二级-C语言-程序填空题-190109记录-对二维字符串数组的处理

    //给定程序,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字符串,且串长<N。

    //重难点:先把第一个字符串记录为最长,然后再遍历替代最长的。处理二维字符串数组需要双重循环,循环处理的时候什么时候‘+1’什么时候不加。

    #include <stdio.h>

    #include <string.h>

    #define M 5

    #define N 20

    void fun(char (*ss)[N])

    {

      int i,j,n,len=0;

      for(i=0;i<M;i++)

      {

        n=strlen(ss[i]);

        if(i==0)  len=n;//先记录第一个字符串为最长

        if(n>len)  len=n;//遍历,寻找最长的

      }

      for(i=0;i<M;i++)

      {

        n=strlen(ss[i]);

        for(j=0;j<len-n;j++)

          ss[i][n+j]='*';//注意是否+1

        ss[i][n+j+1]='';//这里加一,因为for循环中,判断到第二个条件不成立,那么最后一次j++就不会执行。

      }

    }

    main()

    {

      char ss[M][N]={"shanghai","guangzhou","beijing","tianjing","cchongqing"};

      int i;

      printf("The original string are : ");

      for(i=0;i<M;i++)  printf("%s ",ss[i]);

      printf(" ");

      fun(ss);//传参,二维数组名(首地址)

      printf("The result is: ");

      for(i=0;i<M;i++)  printf("%s ",ss[i]);//二维字符串数组,输出的时候,只需要一个for循环

    }

  • 相关阅读:
    setup命令开机启动服务配置
    setup命令网卡配置
    ARM架构与ARM内核
    菁华开示目录
    末法时代选修净土法门可得解脱
    净宗之声 | 向知识分子介绍净土法门(文声对照)
    1217. 无量寿经颂序
    150.2 重刻安士全书序二
    往生典范|黄忠昌往生记实+西方发愿文+止语的好处等
    深度揭秘|邪淫、艳遇背后的真相(影音+图文)
  • 原文地址:https://www.cnblogs.com/ming-4/p/10242834.html
Copyright © 2011-2022 走看看