• C: 冒泡排序


    冒泡排序
    1. C语言在运行的时候,不会帮我们检查数组的下标。
    2. 冒泡排序:有n个数字,需要进行 n - 1 趟比较大小(元素的个数减去 1)。外层循环 for( int i = 0; i < count - 1; i ++)
    3. n 个数字 第一趟比较的次数是 n - 1 ,第n趟比较的次数是 n - 1 次。
    4. 比较的趟的序号 i 与 该趟比较的次数 n - 1  相加之和等于数组元素的个数。内层循环  for ( int j = 0; j < count - 1 -i ; j ++ )
    5. 需要比较的趟数 = 元素个数 - 1,也就是外层循环。
    6. 拿前者与后者与后者进行比较,如果前者比后者大就交换位置
    7.  //数组有20 个元素【 20 50 】,安升序排序
           int a[20] = { 0 };
           for (int i = 0; i < 20; i++) {
               a[i] = arc4random() % ( 50 - 20 + 1 ) + 20;
               printf(" a[%d] = %d 	",i,a[i]);
           }
           for (int i = 0; i < 19; i++) {
               for (int j = 0; j < 19 - i; j++) {
                   if (a[j] > a[j + 1]) {
                      int temp = a[j];
                       a[j] = a[j + 1];
                       a[j + 1] = temp;
                   }
               }
          }
           printf("按升序排好序的数组:
      ");
           for (int i =0 ; i < 20; i++) {
               printf("a[%d] = %d 	 ",i,a[i] );
           }
           
           //数组有 10个元素【 10 40】,按降序排序
           int a[10] = { 0 };
           int count = 10;
           for (int i = 0; i < 10; i++) {
               a[i] = arc4random() % (40 - 10 + 1) + 10;
               printf("a[%d] = %d 	",i, a[i]);
           }
           for (int i = 0; i < count - 1; i++) {
               for (int j = 0; j < count - 1 -i ; j++) {
                   if (a[j] < a[j + 1]) {
                       int temp = a[j];
                       a[j] = a[j + 1];
                       a[j + 1] = temp;
                   }
               }
           }
               printf("按降序排好序的数组:
      ");
           for (int i =0 ; i < 10; i++) {
                   printf("a[%d] = %d 	 ",i,a[i]);
           }
      

      7.

      //字符数组 字符型的数组 用来存放字符型的变量

          char a[20] = "you are beautiful";

          //字符串 就是一个字符数组

          char carr[20] = {'i','z','v','f','r','r','r','r','r'};

          //字符串的形式 字符数组 多一个 ’o‘ 空格

    8.     char a1[] = "henan";

          char a2[] = {'h','e','n','a','n'};

          printf("%lu---%lu ",sizeof(a1),sizeof(a2));//sizeof();  使用的格式化输出符号是    %lu

    9. 在定义字符串字符个数的时候,要定义它为 可使用的个数+1 个。可以用  for 循环去遍历字符数组的元素。char cc[100]='' sddfgdfghdfh''  字符串 int a = sizeof(cc)/ 1结果为 100个能够使用的,这是因为他已经定义为固定长度的了。字符串是双引号引起来的,实际上就是一个字符数组,他与字符数组的区别就是以 ‘’ 未结束标志。      
    10.  strlength(); 求字符串长度的函数  例如: ;
    11.  字符串拷贝 strcpy ( 拷贝字符串的目标, 要拷贝的字符串)他是整体替换 
    12. 字符串拼接 strcat(拼接目标,拼接字符串)   就是用后面的 “ 拼接字符”  换替换 “ 拼接目标” 后面的
    13. 字符串比较 strcmp (字符串1, 字符串2).分别把字符串1 字符串2),对应位置的字母取出来,然后用前面的对应的字母的Ascaii 减去 后面的字符串的对应的字母的Ascii 与0比较,一旦比较出大小就立即停止,大于0就是说 字符串1 大于 字符串2
    14. %s 是格式转换符printf(" %s ", 字符串);。
    15. 代码实战
    16. char str[30] = "my name chenshiya is";
      //        int max = 0, lsum = 0, length = 0, k = 0;
      //        for (int i = 0; i < 30; i++) {
      //            if (str[i] != ' ' && str[i] != '') {
      //                lsum++;//记录单词长度;
      //            }
      //                if (str[i] == ' ' || str[i] == '') {
      //                    length = lsum;
      //                    lsum = 0;
      //                    if (length > max) {
      //                        max = length;
      //                        k = i; //标记最长单词的位置.
      //                    }
      //                }
      //            }
      //            printf("
      最长的单词是:
      ");
      //        for (int i = k - max; i < k; i++) {
      //            printf("%c", str[i]);
      //        }
      //    printf("
      ");

      //求一个 2/1 3/2 5/3 8/5 13/8 21/13 .....的前20个数的和
      int i; float a, b, c, s; a = b = 1.0; c = 0; s = 0; for(i = 0; i < 20; i++) { c = a + b; s = s + c / a; printf("%.0f/%.0f ", c, a); b = a; a = c; } printf(" %f ", s);

       难点是:写程序的方法的实现,比如说鞍点问题

  • 相关阅读:
    Qt编写控件属性设计器12-用户属性
    C#中通过三边长判断三角形类型(三角形测试用例)
    C#中通过Selenium定位<a>标签的问题
    SharePoint自动化系列——Manage "Site Subscriptions" using PowerShell
    SharePoint API测试系列——Records.BypassLocks测试
    SharePoint API测试系列——对Recorded Item做OM操作(委托的妙用)
    放松时刻——C#分割字符串
    链表——PowerShell版
    栈——PowerShell版
    队列——PowerShell版
  • 原文地址:https://www.cnblogs.com/benpaobadaniu/p/4681733.html
Copyright © 2020-2023  润新知