• 嵌入式培训学习历程第八天


         一天一章啊。。晕。。开始

      1.菱形的一种特别打印方式。:

     1 #include <stdio.h>
      2 #include <stdlib.h>
      3 
      4 #define IABS(a) ((a) > 0 ? (a) : -(a))
      5 
      6 void Print(char , int);
      7 
      8 int main(int argc, char *argv[])
      9 {
     10     char str;
     11     int num;
     12     printf("Input character : ");
     13     scanf("%c", &str);
     14     printf("Input number : ");
     15     scanf("%d", &num);
     16     Print(str,num);
     17 
     18     return 0;
     19 }
     20 
     21 void Print(char str, int num)
     22 {
     23     int i,j;
     24     for(i = -num; i <= num; i ++) {
     25         for(j = -num; j <= num; j ++) {
     26             if(IABS(i) + IABS(j) <= num) {
     27                 putchar(str + (num - IABS(i) - IABS(j))); //使用putchar 控制打印的字符。
     28             }
     29             else {
     30                 printf(" ");
     31             }
     32         }
     33         printf("
    ");
     34     }
     35 
     36     return ;
     37 }

      运行结果 :

     1 akaedu@cxw:~/CXW/New/7_26_ShuZu$ ./a.out 
     2 Input character : A
     3 Input number : 8
     4         A        
     5        ABA       
     6       ABCBA      
     7      ABCDCBA     
     8     ABCDEDCBA    
     9    ABCDEFEDCBA   
    10   ABCDEFGFEDCBA  
    11  ABCDEFGHGFEDCBA 
    12 ABCDEFGHIHGFEDCBA
    13  ABCDEFGHGFEDCBA 
    14   ABCDEFGFEDCBA  
    15    ABCDEFEDCBA   
    16     ABCDEDCBA    
    17      ABCDCBA     
    18       ABCBA      
    19        ABA       
    20         A        
    21 akaedu@cxw:~/CXW/New/7_26_ShuZu$ 

      2.数组

          (1).数组的定义        

                类型名 数组名[数组长度]

                数组元素是连续存放的

          (2).定义和声明的区别  

              不允许多定义和重复定义

              全局变量,不初始化的情况下输出,变量默认为0

              注意: 声明不会确定存储空间

          (3). 除了数组定义,其他情况下都是对数组元素的引用

              数组名称不能赋值符的左侧,数组不可以整体赋值

          (4). 生成随机数

              srand(time(NULL));

              rand() % 60    60内的随机数

          (5).函数名称是数组的首地址并且是地址常量,不可改变。

          (6). 对于字符数组也不可整体访问  

              例 :  char str[10];

                  str[] = "Hello" 或 str[10] = "Hello"  都不正确

          (7). printf 输出数据时,碰到''会结束输出。

          (8). 使用sizeof计算数组大小

              例 :   int a[10];

                   sizeof(a) / sizeof(int )     为数组大小。。

      3.排序方法

        (1). 冒泡排序

     36     for(i = 0;i != n - 1; i ++)
     37     {
     38         for(j = 0; j != n - 1 - i; j ++)
     39         {
     40             if(a[j] < a[j + 1])
     41             {
     42                 itemp = a[j];
     43                 a[j] = a[j + 1];
     44                 a[j + 1] = itemp;
     45             }
     46         }
     47     }

        (2). 选择排序 

         for(i = 0; i != n - 1; i ++)
     51     {
     52         for(j = i + 1; j != n; j ++)
     53         {
     54             if(a[i] < a[j])
     55             {
     56                 itemp = a[i];
     57                 a[i] = a[j];
     58                 a[j] = itemp;
     59             }
     60         }
     61     }

        (3).更高效的选择排序

     63     int k;
     64     for(i = 0; i != n -1; i ++) {
     65         k = i;
     66         for(j = i + 1; j != n; j ++) {
     67             if(a[k] < a[j]) {
     68                 k = j;
     69             }
     70         }
     71         if(i != k) {
     72             itemp = a[i];
     73             a[i] = a[k];
     74             a[k] = itemp;
     75         }
     76     }

       今天的英语 : implicit(隐式的)  function(函数)  declaration(声明)  incompatible(冲突的)

  • 相关阅读:
    高性能css动画
    关于thinkphp验证码的那些事
    DOM对象的属性
    关于data属性的一些常见的处理方式
    webstorm快捷键整理
    javascript模块化编程
    2016年5月30日上午(传智Bootstrap笔记六(图片样式))
    Bootstrap列排序
    2016年5月29日晚上(传智Bootstrap笔记五(表单2))
    2016年5月29日晚上(传智Bootstrap笔记四(栅格系统 ))
  • 原文地址:https://www.cnblogs.com/cxw825873709/p/3218754.html
Copyright © 2020-2023  润新知