一天一章啊。。晕。。开始
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(冲突的)