C语言学习笔记(二)

1.题目:编写程序,打印菱形星号组合
     *
    * *
   *   *
  *     *
   *   *
    * *

     *

  1 #include <stdio.h>
  2 int main()
  3 {
  4 printf("\n\
  5         *\n\
  6        * *\n\
  7       *   *\n\
  8      *     *\n\
  9       *   *\n\
 10        * *\n\
 11         *\n");
 12 return(0);
 13 }

2.a[10]={0,1,2,3,4,5,6,7,8,9}逆序输出数组

  1 #include <stdio.h>
  2 int main()
  3 {int a[10]={0,1,2,3,4,5,6,7,8,9};
  4    int n,i;
  5       for(i=0;i<5;i++)
  6         {
  7            n=a[9-i];
  8            a[9-i]=a[i];
  9            a[i]=n;
 10         }
 11       for(i=0;i<=9;i++)
 12            {
 13              printf("a[%d]=%d\n",i,a[i]);
 14            }
 15  return(0);
 16 }
 17 
3.冒泡排序实现算法一

 

  1 #include <stdio.h>
  2 #include <stdlib.h>
  3 #include <time.h>
  4 #define MAX 10
  5 int main()
  6 {int i,j,temp;
  7  srand(time(NULL));
  8  int a[MAX];
  9  for(i=0;i<=MAX-1;i++)
 10    {
 11      a[i]=rand()%100;
 12    }
 13        for(i=0;i<MAX-1;i++)
 14           {for(j=i+1;j<=MAX-1;j++)
 15               { if(a[i]>a[j])
 16                     {    temp=a[i];
 17                          a[i]=a[j];
 18                          a[j]=temp;
 19                     }    
 20               }     
 21           }   
 22    for(i=0;i<MAX;i++)
 23      {
 24         printf("a[%d]=%d\t",i,a[i]);
 25      } 
 26  return(0);
 27 }  
                          

4.冒泡排序实现算法二

  1 #include <stdio.h>
  2 #include <stdlib.h>
  3 #include <time.h>
  4 #define MAX 10
  5 int main()
  6 {int i,j,temp;
  7  srand(time(NULL));
  8  int a[MAX];
  9  for(i=0;i<=MAX-1;i++)
 10    {
 11      a[i]=rand()%100;
 12    }
 13        for(i=0;i<MAX-1;i++)                 //循环次数
 14           {for(j=MAX-2;j>=i;j--)          //每一轮排序的操作次数
 15               { if(a[j]>a[j+1])           //从后往前交换
 16                     {    temp=a[j];
 17                          a[j]=a[j+1];
 18                          a[j+1]=temp;
 19                     }
 20               }
 21           }
 22    for(i=0;i<MAX;i++)
 23      {
 24        printf("a[%d]=%d\t",i,a[i]);
 25      }
 26          return(0);
 27       }

5.冒泡牌库实现算法3
  1 #include <stdio.h>
  2 #include <stdlib.h>
  3 #include <time.h>
  4 #define MAX 10
  5 #define TURE 1
  6 #define FALSE 0
  7 typedef int Status;
  8 int main()
  9 {int i,j,temp;
 10  Status flag=TURE;
 11  srand(time(NULL));
 12  int a[MAX];
 13  for(i=0;i<=MAX-1;i++)
 14    {
 15      a[i]=rand()%100;
 16    }
 17        for(i=0;i<MAX-1 && flag;i++)             //循环次数
 18           {
 19                flag=FALSE;                     //每轮排序后重置flag,若前几个数排序正常,则退出总的循环
 20                for(j=MAX-2;j>=i;j--)           //每一轮排序的操作次数
 21               { if(a[j]>a[j+1])                //从后往前交换
 22                     {    temp=a[j];
 23                          a[j]=a[j+1];
 24                          a[j+1]=temp;
 25                          flag=TURE;
 26                     }
 27 
 28               }
 29           }
 30    for(i=0;i<MAX;i++)
 31      {


 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值