别怕还有我在吧 关注:11贴子:455

回复:记录我的点点滴滴

取消只看楼主收藏回复

图书馆呆了一天 看了数组和指针 数组熟练 指针 学习中
话说大学你要是指望老师教 你就完了
吃饭去 晚上回来帖代码


IP属地:北京21楼2012-11-07 17:11
收起回复


    IP属地:北京22楼2012-11-07 22:29
    收起回复
      2025-05-28 02:51:55
      广告
      教 小朋友学C语言 哦也


      IP属地:北京23楼2012-11-07 22:38
      回复


        强大的宏


        IP属地:北京25楼2012-11-08 22:54
        回复

          以前觉得怪厉害的东西 等自己能写出来了 觉得是如此扯淡


          IP属地:北京27楼2012-11-10 14:10
          回复
            啃指针,啃文件


            IP属地:北京28楼2012-11-10 14:36
            回复
              指针文件差不多了 明天去图书馆啃 结构体
              之后这本书就完啦 哈哈 到时一定要庆祝


              IP属地:北京29楼2012-11-12 23:56
              回复
                #include <stdio.h>
                void main()
                {int fact(int);
                int b,c,d,e,f1,f2,f3,f4,s;
                scanf("%d %d %d %d",&b,&c,&d,&e);
                f1=fact(b);f2=fact(c);f3=fact(d);f4=fact(e);s=f1+f2+f3+f4;
                printf("\n和是%d\n",s);
                }
                int fact( int a)
                { if(a==1) return 1;
                else
                return fact(a-1)*a;}


                IP属地:北京31楼2012-11-18 22:43
                回复
                  2025-05-28 02:45:55
                  广告


                  IP属地:北京35楼2012-11-21 15:03
                  回复
                    汉诺塔问题的分析
                    *************************************************************************8
                    A,B,C三个柱子
                    如果是1个盘子
                    那么直接A-->C
                    ----------------------
                    2个盘子
                    A-->B(第一步)把A柱子下边最大的留下别的放到B
                    A-->C(第二步)把最大的放到C柱子
                    B-->C(第三步)把B柱子上的移到C柱子上
                    ----------------------
                    3个盘子
                    A-->C,A-->B,C-->B (第一步)把A柱子下边最大的留下别的放到B
                    A-->C(第二步)把最大的放到C柱子
                    B-->A,B-->C,A-->C(第三步)把B柱子上的再移到C柱子上
                    @ @ @ @ @
                    会发现无论多少个盘子 我们都可以分成如上的三个步骤把它移好
                    @ @ @ @ @
                    然后我们看3个盘子的
                    第一步:A-->C,A-->B,C-->B
                    第三步:B-->A,B-->C,A-->C
                    第一步我们也可以分成3步
                    A-->C(1)把A柱子除了最大的那个移到C
                    A-->B(2)把A柱子最大的移到B
                    C-->B(3)把C上边的再移动到B
                    第三步我们也可以分成3步
                    B-->A(1)把B柱子除了最大的那个移到A
                    B-->C(2)把B柱子最大的移到C
                    A-->C(3)把A上边的再移动到C
                    ************************************************************************
                    可以发现它基本上都是三步三步的来的
                    然后设有N个盘子
                    第一次(N-1个盘子,A-->B借助C)
                    第二次(A上边最大的移动到C)
                    第三次(N-1个盘子,B-->C借助A)
                    -----------------------
                    其中第一次又可以分成三步。。
                    而分成的三步中的第一步和第三步还可以分成三步。。
                    这就是一种规律。。。
                    -----------------------


                    IP属地:北京36楼2012-11-21 15:43
                    回复
                      这里是源码说明
                      void move(int n,char one,char two,char three)//n个盘子,A,B,C三个柱子
                      {
                      void show(char x,char y);//声明
                      if(n==1)//递归调用必须知道递归到最后的那个值。。
                      show(one,three);
                      else
                      {move(n-1,one,three,two);//对应我们的分析中的第一步N-1个盘子,A-->B借助C
                      show(one,three);//对应我们分析中的第二步A-->C
                      move(n-1,two,one,three);//对应我们分析中的第三步N-1个盘子,B-->C借助A
                      /*函数本身是move这里又用到move就开始递归了,当move的参数变成n-1的时候第一步和第三步的参数会变成n-2,直到递归到n==1*/
                      }

                      }
                      void show(char x,char y)
                      {
                      printf("第%d次的移动:%c--->%c\n",b,x,y);//每一次具体的移动方案
                      }


                      IP属地:北京37楼2012-11-21 15:43
                      回复
                        程序源码说明
                        void move(int n,char one,char two,char three)//定义三步函数

                        {
                        void show(char x,char y);
                        if(n==1)//递归到n==1
                        show(one,three);
                        else
                        {move(n-1,one,three,two);//对应分析中的第一步,N-1个盘子,A-->B借助C
                        show(one,three);对应分析中的第二步,A上边最大的移动到C
                        move(n-1,two,one,three);//对应分析中的第三步,N-1个盘子,B-->C借助A
                        }

                        }
                        void show(char x,char y)//就是一个函数
                        {
                        printf("第%d次的移动:%c--->%c\n",b,x,y);//具体的移动方案
                        }


                        IP属地:北京38楼2012-11-21 16:01
                        回复
                          1


                          IP属地:北京39楼2012-11-21 16:06
                          回复
                            #include<stdio.h>#include<windows.h>#include<string.h>
                            void call(){ void P1(); void P2(); void P3(); void P(); P();Sleep(100);P1();Sleep(100);P2();Sleep(100);P3();Sleep(100); P3();Sleep(100);P2();Sleep(100);P1();Sleep(100);}void main(){
                            void call(); printf(" ....\\...../ ....\n"); printf(" ...╚⊙ ⊙╝...\n");for(int i=0;i<2;i++) printf(" ╚═(███)═╝\n");for(int j=0;j<10;j++)call();int k;char a[]=" ....\\...../ ....\n";k=strlen(a);printf("%d",k);}void P() {printf(" ╚═(███)═╝\n");}void P1() {printf(". ╚═(███)═╝\n");}void P2() {printf(".. ╚═(███)═╝\n");}void P3() {printf("... ╚═(███)═╝\n");}


                            IP属地:北京40楼2012-11-21 21:22
                            回复
                              2025-05-28 02:39:55
                              广告


                              IP属地:北京41楼2012-11-21 21:22
                              回复