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'。

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

  • 相关阅读:
    第十周作业
    第九周编程作业与总结
    第八周编程作业及总结
    第七周编程总结
    第五周课程总结&试验报告(三)
    第四周课程总结&试验报告(二)
    第三周学习总结
    Java第二周学习总结
    2019年学习总结
    第十二周作业
  • 原文地址:https://www.cnblogs.com/wxiaoli/p/4486011.html
Copyright © 2011-2022 走看看