zoukankan      html  css  js  c++  java
  • C语言教学杂记——字母排序

           一个人在被告诉一个问题应该怎么被解决后,而且亲身试验效果OK后,一旦遇到类似的问题,就会条件反射般直接拿这个方法来用了。很少会去想为什么要用这个方法,会不会有什么隐患,还有没有别的方法呢,等等这些问题。

          至少我是这样。

          这学期上C语言课,本来出的题目让学生把任意字符串按照字母顺序输出,是想让他们练习一下排序算法。

           有个学生交上来的程序是这样的:

    #include <stdio.h>
    #include <string.h>
    int main()
    {
    char ch[100],_mark;
    int i,n;
    scanf("%s",ch);
    n=strlen(ch);
    _mark='A';
    while(_mark<='Z')
    {
        for(i=0;i
     {
      if(ch[i]==_mark)
       printf("%c",ch[i]); 
     }
     _mark++;
    }
    return 0;
    }

          很明显,她的思路是把这串字符遍历26次,从最小的‘A’开始遍历一遍,相等的输出;然后用'B'去遍历,直到最后一个大写字母'Z'。

          在我已经大概提过排序的思路后,她却想到了这个输出方式。虽然,这个算法的适应性和算法的时间复杂度都很高,而且从这两个评判程序优劣的角度来看这个程序甚至是略显笨拙。但是,它胜在容易理解和别出心裁,实在是让我惊喜!!

  • 相关阅读:
    软件概要设计
    Jmter进行Rabbitmq测试
    分布式锁
    实用异常
    异常集合
    本地Windows环境安装RabbitMQ Server
    MySQL千万级多表关联SQL语句调优
    mysql数据库多表关联查询的慢SQL优化
    rabbitmq详细配置
    Idea连接服务器docker并部署代码到docker实现一键启动
  • 原文地址:https://www.cnblogs.com/wxiaoli/p/4486011.html
Copyright © 2011-2022 走看看