黑马程序员技术交流社区

标题: C语言大复习--查缺补漏(合计2220行经典小程序) [打印本页]

作者: Micro    时间: 2015-2-7 14:27
标题: C语言大复习--查缺补漏(合计2220行经典小程序)
本帖最后由 Micro 于 2015-2-10 10:11 编辑
C语言大复习--查缺补漏(合计2220行经典小程序)。

     方便大家复习。贡献给大家了!   
链接已贡献给了大家,在最下文。

Ps:    感谢柳柳桑美女老师设置为直播贴


  1. /*
  2. * 耶稣的叛徒
  3. */
  4. #include <stdio.h>
  5. void main()
  6. {
  7.         int a[10],i,j,m=0,n=10;
  8.         for(i=0;i<10;i++)
  9.                 a=i+1;
  10.         for(i=0;n>1;i++)
  11.         {
  12.                 if(i==10)i=0;                        //范围
  13.                 if(a!=0)m++;                        //数数
  14.                 if(m==3){a=0;m=0;n--;}//归零
  15.         }
  16.         for(i=0;i<10;i++)
  17.                 if(a!=0)printf("%d",a);
  18. }

  19. /*
  20. * 删除一个字符串中重复的字符只留下最后一个
  21. */
  22. #include <stdio.h>
  23. #include <stdio.h>
  24. void main()
  25. {
  26.         char a[]="12332123523123";
  27.         int i,j;
  28.         for(i=0;a;i++)
  29.                 for(j=0;j<i;j++)
  30.                 {
  31.                         if(a==a[j])
  32.                         {
  33.                          strcpy(a+i,a+i+1);
  34.                          i--;
  35.                         }
  36.                 }
  37.          puts(a);

  38. }
复制代码





  1. /*
  2. * 链表综合应用
  3. */
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <malloc.h>
  7. struct node
  8. {
  9.         int num;
  10.         struct node *next;
  11. };
  12. struct node *crfun(int n)
  13. {
  14.         struct node *head,*p1,*p2;
  15.         p1=p2=head=(struct node *)malloc(sizeof(struct node));
  16.         scanf("%d",&head->num);
  17.         n--;
  18.         while(n)
  19.         {
  20.                 p2=p1;
  21.                 p1=(struct node *)malloc(sizeof(struct node));
  22.                 scanf("%d",&p1->num);
  23.                 p2->next=p1;
  24.                 n--;
  25.         }
  26.         p1->next=NULL;
  27.         return head;
  28. }
  29. struct node *hbfun(struct node *p1,struct node *p2)
  30. {
  31.          struct node *head,*p;
  32.          if(p1->num<p2->num)head=p1;
  33.          else head=p2;
  34.          p=NULL;
  35.          while(p1!=NULL&&p2!=NULL)
  36.          {
  37.                  if(p1->num<p2->num)
  38.                  {
  39.                          p->next=p1;
  40.                          p=p1;
  41.                          p1=p1->next;
  42.                  }
  43.                  else
  44.                  {
  45.                          p->next=p2;
  46.                          p=p2;
  47.                          p2=p2->next;
  48.                  }
  49.          }
  50.          //以下两句作用是把多余的部分连接起来
  51.          if(p1!=NULL)p->next=p1;
  52.          if(p2!=NULL)p->next=p2;
  53.          return head;
  54. }
  55. struct node *delfun(struct node *head,int m)
  56. {
  57.         struct node *p1,*p2;
  58.         p1=p2=head;
  59.         if(m==head->num)
  60.         {
  61.                 head=head->next;
  62.                 return head;
  63.         }
  64.         while(p2!=NULL&&p2->num!=m)
  65.         {
  66.                 p1=p2;
  67.                 p2=p2->next;
  68.         }
  69.         if(p2->num==m)
  70.         {
  71.                 p1->next=p2->next;
  72.         }
  73.         return head;
  74. }
  75. struct node *insfun(struct node *head,int m)
  76. {
  77.         struct node *p1,*p2,*p;
  78.         p=p2=head;
  79.         p1=(struct node *)malloc(sizeof(struct node));
  80.         p1->num=m;
  81.         if(m<=head->num)
  82.         {
  83.                 p1->next=head;
  84.                 head=p1;
  85.                 return head;
  86.         }
  87.         while(m>=p2->num&&p2!=NULL)
  88.         {
  89.                 p=p2;
  90.                 p2=p2->next;
  91.         }
  92.                 p->next=p1;
  93.                 p1->next=p2;
  94.         return head;
  95. }
  96. struct node *sortfun(struct node *head)
  97. {
  98.         struct node *p;
  99.         p=head->next;
  100.         head->next=NULL;
  101.         while(p!=NULL)
  102.         {
  103.                 head=insfun(head,p->num);
  104.                 p=p->next;
  105.         }
  106.         return head;
  107. }
  108. void putfun(struct node *head)
  109. {
  110.         while(head!=NULL)
  111.         {
  112.                 printf("%3d",head->num);
  113.                 head=head->next;
  114.         }
  115.         printf("\n");
  116. }
  117. void main()
  118. {
  119.          struct node *head,*p1,*p2;
  120.          int m;
  121.          p1=crfun(5);                        //创建链表
  122.          p2=crfun(5);                        //创建链表
  123.          head=hbfun(p1,p2);        //合并链表
  124.          scanf("%d",&m);                //(二路合并法)
  125.          head=delfun(p1,m);                //删除节点
  126.          scanf("%d",&m);
  127.          head=insfun(p1,m);                //插入节点
  128.          head=sortfun(p1);                //排序链表
  129.          putfun(head);                        //输出链表
  130.          //在实际应用中链表使用完后要记得释放
  131. }
复制代码



查漏补缺-已合并 (5.19).c.zip

11.55 KB, 阅读权限: 10, 下载次数: 109


作者: scarlettche    时间: 2015-2-7 15:17
来看看。。。。。。。。。
作者: ustcgemini    时间: 2015-2-7 15:21
谢谢楼主分享。。。。
作者: lumingfu    时间: 2015-2-7 15:45
不错。。。。
作者: ljymm    时间: 2015-2-7 22:31
谢谢楼主
作者: Melody丶Zhy    时间: 2015-2-7 22:41
速来学习~
作者: 87526845    时间: 2015-2-8 09:33
谢谢分享
作者: 理工007    时间: 2015-2-8 10:00
多谢楼主
作者: Kuaile天使    时间: 2015-2-8 10:45
哎呦,不错哦,嘿嘿。
作者: 约瑟翰庞麦郎    时间: 2015-2-8 11:13
学习了。
作者: Potter    时间: 2015-2-8 11:21
多谢分享
作者: devhackill    时间: 2015-2-8 17:33
感谢分享
作者: Macc    时间: 2015-2-8 19:36
不错啊  学习了
作者: a3563365    时间: 2015-2-10 01:18
看看~~~~~~~
作者: 谢囧    时间: 2015-2-10 09:49
学习学习
作者: Dance小飞    时间: 2015-2-10 10:13
黑马七期IOS奋斗群417085503,我们低调而且努力着,群内不加只聊天不学习者。拒绝任何广告
作者: Micro    时间: 2015-2-10 10:34
Dance小飞 发表于 2015-2-10 10:13
黑马七期IOS奋斗群417085503,我们低调而且努力着,群内不加只聊天不学习者。拒绝任何广告 ...

好的。一起奋斗。。
作者: 党静锋    时间: 2015-2-10 11:44
看看!!!!!!!!!!!!!!!
作者: 1026238004    时间: 2015-2-10 11:56
感谢感谢!
作者: andyJerry    时间: 2015-2-10 13:05
很好,学习了。。。。。。
作者: andyJerry    时间: 2015-2-10 13:07
感谢分享。。。楼主好人。
作者: dimost    时间: 2015-2-10 13:35
好东西,谢谢楼主了。
作者: andyJerry    时间: 2015-2-10 13:37
MARK..........
作者: 昨夜雨轻栏    时间: 2015-2-10 13:41
强势围观、、、、、、
作者: Dance小飞    时间: 2015-2-10 16:10
黑马IOS七期群417085503,我们只为了能考入黑马IOS七期而在一起大家加油
作者: 柳柳桑    时间: 2015-2-10 16:54
吓我一跳,我说怎么我的名字还出来了呢……楼主加油!
作者: Zeus-S    时间: 2015-2-10 16:59
感谢分享
作者: onefiter    时间: 2015-2-10 17:31
来巩固C语言
作者: vera    时间: 2015-2-10 20:38
很受用,感谢分享!
作者: gzf201314    时间: 2015-2-10 20:58
其实我只想学习学习。
作者: 高唱凯歌    时间: 2015-2-10 21:07
谢谢楼主,大家加油啊
作者: Dance小飞    时间: 2015-2-10 21:13
黑马IOS七期群417085503,我们只为了能考入黑马IOS七期而在一起大家加油
作者: hypoyan    时间: 2015-2-10 23:05
多谢分享~
作者: 仰望星空.....    时间: 2015-2-10 23:06
多谢分享!!!!!!!!!
作者: Dance小飞    时间: 2015-2-11 09:16
黑马IOS七期群417085503,我们只为了能考入黑马IOS七期而在一起大家加油
作者: 不爱不诺    时间: 2015-2-11 09:18
我来复习复习,谢谢分享!
作者: Micro    时间: 2015-2-11 14:53
顶。。。加油。。
作者: 钟楼上的猫    时间: 2015-2-11 15:08
第一个程序每个a的后面都少了[i]
作者: 钟楼上的猫    时间: 2015-2-11 15:10
钟楼上的猫 发表于 2015-2-11 15:08
第一个程序每个a的后面都少了

j也没有用到,程序是真心经典,我这题写的很麻烦
作者: laichunhui    时间: 2015-2-11 17:55
谢谢分享
作者: 蜡笔3285    时间: 2015-2-11 18:07
学习了,谢谢提供
作者: Dance小飞    时间: 2015-2-11 18:36
非官方群,黑马IOS七期群417085503,我们只为了能考入黑马IOS七期而在一起努力奋斗,互相督促。小年快乐。
作者: 魂之挽歌    时间: 2015-2-12 09:03
顶!多谢版主分享
作者: 魂之挽歌    时间: 2015-2-12 09:26
不错不错嘿嘿
作者: macau    时间: 2015-2-12 10:34
多谢了,赞一个,
作者: Micro    时间: 2015-2-12 12:21
Dance小飞 发表于 2015-2-11 18:36
非官方群,黑马IOS七期群417085503,我们只为了能考入黑马IOS七期而在一起努力奋斗,互相督促。小年快乐。 ...

我们南方今天是小年。
作者: Dance小飞    时间: 2015-2-12 13:27
非官方群,黑马IOS七期群417085503,我们只为了能考入黑马IOS七期而在一起努力奋斗,互相督促。我们要努力成为拼向黑马第一群。群中有大神,和多年工作经验者。限100人
作者: 思念你的微笑    时间: 2015-2-12 15:37
去我发表的那个帖子看看,今天下午没气死我。博看文思。特么气死我了。
作者: Dance小飞    时间: 2015-2-12 19:51
备考黑马IOS7期第一群417085503,我们只为了能考入黑马IOS七期而在一起努力奋斗,互相督促。我们要努力成为拼向黑马第一群。群中有大神,和多年工作经验者。群内发广告,只是聊天者勿加,限100人
作者: xiaomeng    时间: 2015-2-12 20:35
看看学习学习。
作者: Dance小飞    时间: 2015-2-12 21:50
备考黑马IOS7期第一群417085503,我们只为了能考入黑马IOS七期而在一起努力奋斗,互相督促。我们要努力成为拼向黑马第一群。群中有大神,和多年工作经验者。群内发广告,只是聊天者勿加,限100人
作者: 堇莫荼蘼    时间: 2015-2-12 22:19
学习学习~~
作者: Dance小飞    时间: 2015-2-13 00:31
这个点还在学习的,请加群417085503,我们只为了能考入黑马IOS七期而在一起努力奋斗,互相督促。我们要努力成为拼向黑马第一群。群中有大神,和多年工作经验者。群内发广告,只是聊天者勿加,限100人
作者: 从黑夜直至白天    时间: 2015-2-13 02:57
非常感谢你的分享
作者: Micro    时间: 2015-2-13 09:25
Dance小飞 发表于 2015-2-13 00:31
这个点还在学习的,请加群417085503,我们只为了能考入黑马IOS七期而在一起努力奋斗,互相督促。我们要努力 ...

你也是蛮拼的。。。。。
作者: HeavenYoung    时间: 2015-2-13 11:44
学习一下
作者: Micro    时间: 2015-2-13 14:18
MAO GE PAO
作者: Dance小飞    时间: 2015-2-13 15:23
这个点还在学习的,请加群417085503,我们只为了能考入黑马IOS七期而在一起努力奋斗,互相督促。我们要努力成为拼向黑马第一群。群中有大神,和多年工作经验者。群内发广告,只是聊天者勿加,限100人
作者: Micro    时间: 2015-2-13 18:58
自己顶个。。。。。
作者: 堇莫荼蘼    时间: 2015-2-13 21:16
thanks      
作者: 从黑夜直至白天    时间: 2015-2-14 01:15
感谢你的分享
作者:  神马都是浮云    时间: 2015-2-14 09:16
好东西 必须顶一个
作者: 小希    时间: 2015-2-14 09:34
好东西!顶
作者: 小希    时间: 2015-2-14 09:58
我想看看隐藏的内容,可以吗!新手!而且我看了下!打包的时候MAC环境下的,楼主你那有TXT脚本板的吗
作者: Dance小飞    时间: 2015-2-14 10:00
这个点还在学习的,请加群417085503,我们只为了能考入黑马IOS七期而在一起努力奋斗,互相督促。我们要努力成为拼向黑马第一群。群中有大神,和多年工作经验者。群内发广告,只是聊天者勿加,限100人
作者: 沈某人    时间: 2015-2-14 10:11
看了一下,非常棒哦
作者: Micro    时间: 2015-2-14 22:20
小希 发表于 2015-2-14 09:58
我想看看隐藏的内容,可以吗!新手!而且我看了下!打包的时候MAC环境下的,楼主你那有TXT脚本板的吗 ...

你好,回复就可以看隐藏内容了哦。哦,对了。你用txt打开本文档应该也能看到吧。.c 文件有关键字标识。方便阅览。感谢支持。
作者: 从黑夜直至白天    时间: 2015-2-15 01:09
学习了 感谢你的分享

作者: Dance小飞    时间: 2015-2-15 08:14
这个点还在学习的,请加群417085503,我们只为了能考入黑马IOS七期而在一起努力奋斗,互相督促。我们要努力成为拼向黑马第一群。群中有大神,和多年工作经验者。群内发广告,只是聊天者勿加,限100人
作者: 谢囧    时间: 2015-2-15 09:32
学习了 感谢你的分享
作者: cowozo    时间: 2015-2-15 12:53
感谢LZ  学习了
作者: Micro    时间: 2015-2-15 13:48
签个到。。。。
作者: 依然卟懂    时间: 2015-2-15 21:01
签到。。。。。
作者: Micro    时间: 2015-2-16 10:11
2.16.。。


作者: Micro    时间: 2015-2-16 10:30
欢迎各位来签到。
作者: 沈某人    时间: 2015-2-16 11:09
回顾了之前学的知识
作者: liboy    时间: 2015-2-16 11:42
好人,谢谢分享。。。
作者: superdite    时间: 2015-2-17 01:22
正在自学C语言,先进来看看~
作者: 血玉漫天    时间: 2015-2-17 01:42
进来学习一下
作者: Perhaps    时间: 2015-2-17 12:14
加油!!
作者: 15021367785    时间: 2015-2-17 16:10
:lol1111111
作者: 从黑夜直至白天    时间: 2015-2-18 01:44
感谢你的分享
作者: 谢囧    时间: 2015-2-18 08:54
学习了谢谢。
作者: moon_H    时间: 2015-2-18 16:25
谢谢 正在学习
作者: 从黑夜直至白天    时间: 2015-2-19 15:34
非常感谢你的分享

作者: PlwNs    时间: 2015-2-19 18:00
看一下隐藏了啥
作者: PlwNs    时间: 2015-2-19 18:17
约瑟翰庞麦郎 发表于 2015-2-8 11:13
学习了。

这个是滑板鞋吗?
作者: chenhuan_ccit    时间: 2015-2-20 20:17
/*
* 耶稣的叛徒
*/
#include <stdio.h>
void main()
{
        int a[10],i,j,m=0,n=10;
        for(i=0;i<10;i++)
                a=i+1;
        for(i=0;n>1;i++)
        {
                if(i==10)i=0;                        //范围
                if(a!=0)m++;                        //数数
                if(m==3){a=0;m=0;n--;}//归零
        }
        for(i=0;i<10;i++)
                if(a!=0)printf("%d",a);
}

/*
* 删除一个字符串中重复的字符只留下最后一个
*/
#include <stdio.h>
#include <stdio.h>
void main()
{
        char a[]="12332123523123";
        int i,j;
        for(i=0;a;i++)
                for(j=0;j<i;j++)
                {
                        if(a==a[j])
                        {
                         strcpy(a+i,a+i+1);
                         i--;
                        }
                }
         puts(a);

}

作者: zhenghm    时间: 2015-2-20 20:19
学习了,感谢分享
作者: 从黑夜直至白天    时间: 2015-2-20 20:22
感谢你的分享
作者: 陈明辉    时间: 2015-2-20 21:26
在自学C语言,先签个到

作者: Micro    时间: 2015-2-21 10:55
好久没来了,各位新年快乐。这几天玩得确实High,
作者: Micro    时间: 2015-2-21 10:56
同时也不要忘记了学习,来签个到。
作者: Kman    时间: 2015-2-21 16:59
签到,赚技术分!
作者: 从黑夜直至白天    时间: 2015-2-21 18:37
感谢分享
作者: Kman    时间: 2015-2-21 18:48
太感谢啦!!!!!
作者: zero-xiao    时间: 2015-2-22 14:54
感谢分享,速度学习。
作者: 大白天    时间: 2015-2-22 16:34
谢谢楼主  楼主好人
作者: zhenghm    时间: 2015-2-22 20:57
感谢分享啊!!!
作者: Micro    时间: 2015-2-22 21:22
签到。。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2