您的位置:首页 > 其它

第四节 一维数组

2015-10-01 17:00 204 查看
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

//刚开始的序列 18 58 7 37 22

//第一趟:

//第一次:18 58 7 37 22

//第二次:18 7 58 37 22

//第三次:18 7 37 58 22

//第四次:18 7 37 22 58 第一趟得到了一个最大的数为58

//第二趟:

//第一次:7 18 37 22

//第二次:7 18 37 22

//第三次:7 18 22 37 第二趟得到了一个第二大的数37

//第三趟:

//第一次:7 18 22

//第二次:7 18 22 第三趟得到了一个第三大的数22

//第四趟:

//第一次:7 18 第四趟出结果得到了一个第四大的数,自然而然剩下的那个数就是最小的。排序结束

//最终的排序结果为 7 18 22 37 58

//冒泡排序的原则是:比较相邻两个数的大小,如果前面的大于后面的,交换位置,否则位置不动,依次比较完成之后,从每一趟中都可以得到这一趟比较的所有数中最大的那个数。

//count 表示 数组容量。array 代表数组名

//这个是好理解版本

/*

for (int i = 1; i < count; i ++) {//控制趟数

for (int j = 0; j < count - i; j ++) {//控制的是每一趟比较多少次

if (array[j] > array[j + 1]) {

int temp = array[j];

array[j] = array[j + 1];

array[j + 1] = temp;

}

}

}

*/

/*

for (int i = 0; i < count - 1; i ++) {//控制趟数

for (int j = 0; j < count - i - 1; j ++) {//控制的是每一趟比较多少次

if (array[j] > array[j + 1]) {

int temp = array[j];

array[j] = array[j + 1];

array[j + 1] = temp;

}

}

}

*/

//定义一个具有十个元素的整型数组,随机赋值(范围20~40),并且按照升序 输出 所有的元素。

/*

int array[10] = {0};

//1、通过for循环给数组元素进行随机赋值

for (int i = 0; i < 10; i ++) {

array[i] = arc4random() % (40 - 20 + 1) + 20;

printf("%d\t",array[i]);

}

printf("\n");

//2、冒泡排序

for (int i = 0; i < 10 - 1; i ++) {

for (int j = 0; j < 10 - 1 - i; j ++) {

if (array[j] > array[j + 1]) {

int temp = array[j];

array[j] = array[j + 1];

array[j + 1] = temp;

}

}

}

//通过for循环将排序好后的数组元素打印出来

for (int i = 0; i < 10; i ++) {

printf("%d\t",array[i]);

}

*/

//字符数组

//字符数组 就是存放 字符类型元素的容器。string

/*

char str1[30] = {'i', 'P', 'h', 'o', 'n', 'e'};

char str2[30] = "iPhone";//这种方式 是我们以后声明字符数组的常用方式。

char str3[30] = {'i', 'P', 'h', 'o', 'n', 'e', '\0'};

//C语言中的字符串就是以 '\0' 结尾的字符数组。

//打印C语言字符串 占位符为 %s

printf("str1 = %s, str2 = %s, str3 = %s",str1, str2, str3);

*/

//字符串操作函数

//1、计算字符串长度的函数 strlen();

char str[30] = "iPhone6sPlus";

char str1[10] = {'i', 'P', 'h', 'o', '\0'};

// int a = 10;

// a = 11;

//

// const int b = 11;

// b = 12;

//字符串长度的类型为无符号的长整型,打印占位符为%lu

unsigned long strLength = strlen(str);

printf("strLength is %lu,%lu",strLength,strlen(str1));

//2、字符串拷贝函数 strcpy

char str2[30] = {0};

char str3[30] = "i want an iPhone6sPlus";

strcpy(str2, str3);//将str3里面的内容拷贝到str2里面。

printf("str2 = %s, str3 = %s",str2, str3);

//3、字符串拼接函数 strcat

char str4[255] = "marry beautiful girl";

char str5[30] = "become a boss";

strcat(str4, str5);

printf("str4 = %s",str4);

//4、字符串比较函数 strcmp

char str6[30] = "i want a girlFriend";

char str7[30] = "i want a boyFriend";

//result的结果为 两个字符串首位不相同的字符 ascii码值的差值。

int result = strcmp(str6, str7);

printf("result = %d",result);

if (result > 0) {

char strTemp[30] = {0};

//字符串的交换需要借助拷贝函数,不能直接赋值

strcpy(strTemp, str6);

strcpy(str6, str7);

strcpy(str7, strTemp);

}

/**

* 将字符串 倒转:

例如:“afjnpue”

转变 成字符串“eupnjfa”

(注:是改变 字符串本身,不是 反向输出)

*/

char string[30] = "fangyuanbaili";

int length = (int)strlen(string);

printf("\n");

for (int i = 0; i < length / 2; i ++) {

char temp = string[i];

string[i] = string[length - 1 - i];

string[length - 1 - i] = temp;

}

printf("%s",string);

// for (int i = length - 1; i >= 0; i --) {

// printf("%c",string[i]);

// }

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: