知识点概括:
1.一维数组
2.冒泡排序
3.字符数组
//如何定义变量。
//分三步:1.数据类型 2.变量名 3. 初值
// int a = 0;
//定义一维的整形数组。
//1.数据类型(指定数组中元素的类型) 2.数组名 3.[5]中括号填写元素个数(要求数组创建的容器的个数) 4.初值,因为数组中存放多个变量,赋初值时使用大括号,内部为每一个变量赋初值,中间用逗号分隔.
// int b[5] = {1, 2, 3, 4, 5};
//定义数组时,数组元素的个数只能是常量或者常量表达式,不能为变量.
// float c[10] = {1};
//获取数组中的元素,数组名+下标.
//数组中元素的下标范围, 0 到数组元素个数 - 1.
//数组所占内存空间的大小 = 数组中每个元素所占空间的大小 * 数组元素的个数.
// printf("%d\n", b[2]);
// printf("%d %d\n", b[0], b[4]);
// b[2] = 10;
// printf("%d \n", b[2]);
// b[5] = 10;
//Arra index 5 is past the
//打印数组b中的每一个元素.
// int b[6] = {1, 2, 3, 4, 5, 6};
// for (int i = 0; i < 600; i++) {
// printf("%d ", b[i]);
// }
//求数组b中的最大值
// int max = 0; //存储数组的中最大值.
// for (int i = 0; i < 6; i++) {
// if (b[i] > max) {
// max = b[i];
// }
// }
// printf("max = %d \n", max);
// int min = b[0]; //存储数组中的最小值.
// for (int i = 1; i < 6; i++) {
// if (b[i] < min) {
// min = b[i];
// }
// }
// printf("min = %d ", min);
//给数组中的元素赋值[10,20]范围内的值.
// int b[10] = {0};
// for (int i = 0; i < 10; i++) {
// b[i] = arc4random() % 11 + 10;
// printf("%d ", b[i]);
// }
// printf("\n");
// int max = 0;
// for (int i = 0; i < 10; i++) {
// max = b[i] > max ? b[i] : max;
// }
// printf("max = %d\n", max);
// int min = b[0];
// for (int i = 1; i < 10; i++) {
// min = b[i] < min ? b[i] : min;
// }
// printf("min = %d\n", min);
// int a[20] = {0}, sum = 0;
// for (int i = 0; i < 20; i++) {
// a[i] = arc4random() % 41 + 30;
// printf("%d ", a[i]);
// sum += a[i];
// }
// printf("\n");
// printf("sum = %d \n", sum);
// int a[20] = {0}, b[20] = {0}, temp = 0;
// for (int i = 0; i < 20; i++) {
// a[i] = arc4random() % 41 + 30;
// b[i] = arc4random() % 41 + 30;
// printf("%d %d~", a[i], b[i]);
// }
// printf("\n");
// for (int i = 0; i < 20; i++) {
// temp = a[i];
// a[i] = b[i];
// b[i] = temp;
// printf("%d %d~", a[i], b[i]);
// }
// printf("\n");
// int a[10] = {0}, b[10] = {0}, c[10] = {0};
// for (int i = 0; i < 10; i++) {
// a[i] = arc4random() % 21 + 20; //给a数组中的元素赋值
// b[i] = arc4random() % 21 + 20; //给b数组中的元素赋值
// c[i] = a[i] + b[i]; //a数组+b数组的值赋给c数 对应下标元素求和,将结果存放到对应的另外一个数组中
// }
// printf("a数组:\n"); //输出a数组
// for (int i = 0; i < 10; i++) {
// printf(" %d ", a[i]);
// }
// printf("\n");
// printf("b数组:\n"); //输出b数组
// for (int i = 0; i < 10; i++) {
// printf(" %d ", b[i]);
// }
// printf("\n");
// printf("c数组:\n"); //数组c数组
// for (int i = 0; i < 10; i++) {
// printf(" %d ", c[i]);
// }
// printf("\n");
//冒泡排序
// int a[5] = {15, 18, 30, 27, 7};
//第一趟排序,比较4次.
for (int i = 0; i < 4; i++) {
if (a[i] > a[i + 1]) {
//交换两个元素的值
int temp = a[i];
a[i] = a[i + 1];
b[i + 1] = temp;
}
}
//第二趟排序,比较3次.
for (int i = 0; i < 3; i++) {
if (a[i] > a[i + 1]) {
int temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
}
//第三趟排序,比较2次
for (int i = 0; i < 2; i++) {
if (a[i] > a[i + 1]) {
int temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
}
//第四趟排序,比较1次
for (int i = 0; i < 1; i++) {
if (a[i] > a[i + 1]) {
int temp = a[i];
a[i] = a[i + 1];
a[i + 1] =temp;
}
}
//
// //冒泡排序采用双层for循环
// //外层循环决定比较的趟数
// //最外层 -1 可以不减,-1的目的提高程序的执行效率
// for (int i = 0; i < 5 - 1; i++) {
// //内层循环决定每一趟比较的次数
// //内层-1必须要减,减1的目的是为了防止比较的时候超出数组的范围
// //内层-i可以不减,作用是缩小无序区的范围,提高程序的执行效率
// for (int j = 0; j < 5 - 1 - i; j++) {
// if (a[j] > a[j + 1]) {
// //交换两个元素的值
// int temp = a[j];
// a[j] = a[j + 1];
// a[j + 1] = temp;
// }
// }
// }
// for (int i = 0; i < 5; i++) {
// printf(" %d ", a[i]);
// }
// printf("\n");
//练习2
// int a[10] = {0};
// //给a数组赋值[20,40]随机数
// for (int i = 0; i < 10; i++) {
// a[i] = arc4random() % 21 + 20;
// }
// //输出a数组
// printf("a数组:\n");
// for (int i = 0; i < 10; i++) {
// printf(" %d ", a[i]);
// }
// printf("\n");
// //a数组从小到大排序
// for (int i = 0; i < 10 - 1; i++) {
// for (int j = 0; j < 10 - 1 -i; j++) {
// if (a[j] > a[j + 1]) {
// int temp = a[j];
// a[j] = a[j + 1];
// a[j + 1] = temp;
// }
// }
// }
// //输出排序后的a数组
// printf("从小到大a数组:\n");
// for (int i = 0; i < 10; i++) {
// printf(" %d ", a[i]);
// }
// printf("\n");
//字符数组
//字符数组和整形数组一样,都是一维数组,只不过数据类型是char.
// char str[10] = {'i', 'P', 'h', 'o', 'n', 'e'};
// printf("%c\n", str[5]);
// char str[] = "iPhone";
//sizeof() 用来计算数据类型,变量以及数组所占空间的大小.
// printf("所占空间大小:%lu\n", sizeof(str));
//strlen 计算字符串的长度,肉眼看到的字符串中字符的个数.
// printf("长度:%lu\n", strlen(str));
//strcpy 字符串拷贝
// strcpy(str, "la");
//输出字符串的内容
// printf("%s \n", str);
// printf("%c ", str[6]);
//strcat 字符串拼接
// strcat(str, "iOS");
// printf("%s ", str);
//strcmp 字符串比较
// char str1[] = "bbc";
// char str2[] = "bbcd";
// int result = strcmp(str1, str2);
// printf("%d",result);