冒泡排序:
int sort[10] = {0};
int num =
0;
for (int k =
0; k <
10; k++) {
//得到一个10个整型数的数组
sort[k] = arc4random()%(90
- 60 +
1) + 60;
printf("%d\n",sort[k]);
}
//数组中的元素的挨个访问,但因为下段程序中有+1出现,为防止访问出错,进行-1
for (int i =
0; i <
10 - 1; i++) {
for (int r =
0;r <
10 - 1 -i; r++) { //-i,执行i次就会求出i个最大数,并已在最后排好位置,减去重复的
if (sort[r] > sort[r+1]) { //两数进行比较,符合条件,便互换位置
num = sort[r];
//采用中间变量
sort[r] = sort[r+1];
sort[r+1] = num;
}
}
}
for (int i =
0; i < 10; i++) { //输出已排序的数组
printf("%d ",sort[i]);
}
字符串数组
概念:存放
“字符串”(以\0结尾的字符数组)
的数组,是二维数组。
定义:char
数组名[常量表达式1][常量表达式2]
= {值1,值2,值3...};
访问字符串
用数组名
+第一维的下标;
访问字符
用数组名
+第一维的下标+二维下标;
注意事项:
1、字符串数组是二维字符数组。字符数组包含字符串数组。
2、每个字符串的长度不可超过第二维长度-1:字符串需要存放\0
3、字符串访问:用数组名 +
一维下标。
求字符串长度的结果数据类型是
unsigned long(无符号长整型);
无论赋值还是比较,都要类型保持一致。
字符串访问:数组名 +
一维下标。
字符串处理函数:
strlen() 计算字符串的长度
strcpy() 字符串的复制,拷贝
strcat() 字符串拼接
strcmp() 字符串的比较
//计算字符串的长度
char str[] =
" ";
char str1[] =
"iOS";
char str2[] =
"money";
char str3[] =
"monkey";
strlen(str);
unsigned long len =
strlen(str);
printf("len = %lu\n",len);
//复制
char newStr [] = {'\0'};
strcpy(newStr, str);
printf("newstr = %s \n", newStr);
strcpy(newStr, str3);
printf("newstr = %s \n", newStr);
//字符串拼接
strcat(str, str1);
printf(" str1 = %s\n",str);
//字符串比较函数是根据对应下标的ASSCII值作比较(减法),如果差值为0,说明两个字符2相等,接着比较下一位ASSCII值,直到遇到“\0",如果差值不为0,则返回该差值,表示两个字符是不同的
int result =
strcmp(str2,str3);
printf("result = %d\n ",result);
以上得出的结果如下: