A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 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

点评

不错  发表于 2015-2-8 11:40

评分

参与人数 1黑马币 +5 收起 理由
张文文 + 5 赞一个!

查看全部评分

131 个回复

倒序浏览
来看看。。。。。。。。。
回复 使用道具 举报
谢谢楼主分享。。。。
回复 使用道具 举报
不错。。。。
回复 使用道具 举报
ljymm 来自手机 中级黑马 2015-2-7 22:31:05
报纸
谢谢楼主
回复 使用道具 举报
速来学习~
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
理工007 来自手机 中级黑马 2015-2-8 10:00:25
8#
多谢楼主
回复 使用道具 举报
Kuaile天使 来自手机 中级黑马 2015-2-8 10:45:44
9#
哎呦,不错哦,嘿嘿。
回复 使用道具 举报
学习了。
回复 使用道具 举报
多谢分享
回复 使用道具 举报
感谢分享
回复 使用道具 举报
不错啊  学习了
回复 使用道具 举报
看看~~~~~~~
回复 使用道具 举报
学习学习
回复 使用道具 举报
黑马七期IOS奋斗群417085503,我们低调而且努力着,群内不加只聊天不学习者。拒绝任何广告
回复 使用道具 举报 2 0
Micro 高级黑马 2015-2-10 10:34:10
17#
Dance小飞 发表于 2015-2-10 10:13
黑马七期IOS奋斗群417085503,我们低调而且努力着,群内不加只聊天不学习者。拒绝任何广告 ...

好的。一起奋斗。。
回复 使用道具 举报
看看!!!!!!!!!!!!!!!
回复 使用道具 举报
1026238004 来自手机 中级黑马 2015-2-10 11:56:09
19#
感谢感谢!
回复 使用道具 举报
很好,学习了。。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马