• 回首往昔,初学编程那会写过的两段愚蠢代码


    一、关于判断两个整数是否能整除的GW BASIC创意代码

    记得上大学时第一个编程语言是BASIC,当时Visual Basic还没出世,QBASIC虽然已经在1991年随MS-DOS5.0推出了,但我们使用的还是 GW-BASIC, 使用的教材是谭浩强、田淑清编著的《BASIC语言》。

    有一次的作业是判断一个数是否能被另一个数整除。

    当时对BASIC的取模运算(运算符是MOD)不是很熟悉,但BASIC有 除法运算(运算符是 /)和整除运算(运算符是 \),于是我就编写了下面的代码:

    1. input " Please enter two integer: " ; a, b
    2. if a/b = a\b then
    3.    print a;" is divisible by ";b
    4. else
    5.   print a;" isn't divisible by ";b

    记得程序运行时的输出结果是正确的。

     关于GW-BASIC语言名称里的“GW”的含义,有几种说法。Greg Whitten是微软早期的一名员工,他说,比尔·盖茨选择了GW-BASIC这个名字。Whitten将其称为Gee-Whiz BASIC,并不确定盖茨是否以他的名字命名了该程序。Microsoft Press的Microsoft用户手册也使用此名称来指代它。它也可能被昵称为Gee-Whiz,因为它有大量的图形命令。其它说法还有“图形和视窗”(graph and windows)、“盖茨-威廉”(微软当时的总裁)或“盖茨-惠顿”(该程序的两个主要设计者)。


    二、用数组解决约瑟夫环问题C语言代码

    约瑟夫环问题的具体描述是:设有编号为1,2,……,n的n个(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,才从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,知道剩余1个人为止。当任意给定n和m后,设计算法求n个人出圈的次序。

    这是《数据结构》课程里的经典问题了。使用数组来实现的话,最快的是使用取余算法得出圈的数组元素下标。不过我当时写的代码是真是一个个数了……

    1. #include
    2. #include
    3. int main()
    4. {
    5. int m = 3;
    6. int n = 7;//数组长度
    7. int a[7] = {1,2,3,4,5,6,7};
    8. int i = 0;
    9. int j;
    10. int k;
    11. printf("出圈顺序为:");
    12. while (n > 1)
    13. {
    14. //数数
    15. for (k=0; k < m; k++)
    16. {
    17. if (i == n)
    18. {
    19. i = 0;
    20. }
    21. else
    22. {
    23. i++;
    24. }
    25. }
    26. //输出出列的数字
    27. printf("%d ",a[i]);
    28. //数组元素前移
    29. for (j = i+1; j < n; j++)
    30. {
    31. a[j-1] = a[j];
    32. }
    33. n--; //数组长度-1
    34. if (i == n)
    35. {
    36. i = 0;
    37. }
    38. }
    39. //输出出列的数字
    40. printf("%d ",a[i]);
    41. return 0;
    42. }

  • 相关阅读:
    【Java分享客栈】我曾经的两个Java老师一个找不到工作了一个被迫转行了
    20-spring mvc设计思想和源码解读-spring mvc 功能特性
    5.Docker 私有库及镜像推送
    【后端面经-Java】JVM垃圾回收机制
    Ubuntu18.04版本下配置ORB-SLAM3和数据集测试方法
    牛客网刷题-环形链表
    【03】Charles_ mock服务端返回数据Maplocal
    计算机网络——物理层-信道的极限容量(奈奎斯特公式、香农公式)
    HDU - 1114 Piggy-Bank(完全背包)
    单片机之从C语言基础到专家编程 - 4 C语言基础 - 4.12枚举
  • 原文地址:https://blog.csdn.net/Purpleendurer/article/details/133901730