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 个回复

正序浏览
感谢分享
回复 使用道具 举报
haohaokankan
回复 使用道具 举报
正好需要简直是及时雨啊
回复 使用道具 举报
感谢分享
回复 使用道具 举报
顶一下哦
回复 使用道具 举报
谢谢 一起努力
回复 使用道具 举报
加油!!
回复 使用道具 举报
不明觉厉,谢谢楼主分享。
回复 使用道具 举报
好好加油就对了!!!!!!!!!!
回复 使用道具 举报
Dance小飞 发表于 2015-2-10 10:13
黑马七期IOS奋斗群417085503,我们低调而且努力着,群内不加只聊天不学习者。拒绝任何广告 ...

总算找到组织了:'(
回复 使用道具 举报
想进黑马六期,ios,报名晚了,怎么补救呢?
回复 使用道具 举报
这么好的资源顶上去,顺便拿点技术分。。。。。
回复 使用道具 举报
给力啊!
回复 使用道具 举报
签到。。。。
回复 使用道具 举报
先收藏,以后慢慢学习。
回复 使用道具 举报
好东西 学习了
回复 使用道具 举报
谢谢楼主分享   很棒很棒
回复 使用道具 举报
赞!!!
回复 使用道具 举报
已发申请
回复 使用道具 举报
谢谢楼主分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马