解决数组问题
来源:互联网 发布:苹果mac锁屏快捷键 编辑:程序博客网 时间:2024/05/29 17:30
1.将两个数组合并成一个新的数组,并对其进行从小到大的顺序排列(冒泡排序)
int a[5] = {12, 63, 51, 23, 9};
int b[5] = {20, 35, 15, 98, 60};
int c[10] = {0};
//定义两个数组和空数组(数组长度为10)
for (int i = 0; i < 10; i++) {
if (i > 5) {
c[i] = a[i];
}
else c[i] = b[i - 5];
}
//实现数组的合并,将其放入一个新的数组c[10]里
for (int i = 0; i < 10; i++) {
printf("c[%d] = %d\n", i + 1, c[i]);
}
//for循环依次输出排序后新的数组元素
2.二维数组的行和列交换,存储到另外一个新的数组中
//先定义两个数组,其中一个为空数组
int arr1[2][3] = {2, 3, 4, 9, 6, 1};
int arr2[3][2] = {0};
//进行两个for循环将两个数组的行和列交换,在两个数组赋值交换的时候,不要将“=”两边的数组写反了,尤其是数组下标,下标要进行交换的
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
arr2[j][i] = arr1[i][j];
}
}
//一个for循环将得到的新数组输出,现在的数组第一维下标是j,第二维下标是i,不要弄反了。
for(int j = 0; j < 3; j++) {
for(int i = 0; i < 2; i++) {
printf("arr2[%d][%d] = %d\n", j, i, arr2[j][i]);
}
}
3.在数组中找出最大元素的方法除了用if条件语句外,还可以用三目运算符来找出最大元素
例:if (array[m][n] > max){
max = array[m][n];
}
//if语句可以直接找出最大元素的位置(即下标),三目运算符中比较一直循环,不能直观的看出下标,再用一个for循环找出下标,即当最大值等于数组中的某一元素时,位置就显而易见了
三目运算符:
max = max < array[m][n] ? max : array[m][n];
4.字符串数组
注意:1.求字符串长度的结果数据类型是unsigned long(无符号长整型);2.无论是赋值还是两个数作比较,都要双方类型一致;3.字符串访问:数组名加一维下标
5.计算字符长度是用strlen 如:unsigned long length = strlen(str);
输出长度时用%lu格式化输出;在字符串数组(二维数组)中求某一元素长度时,选取第一维数组的整个元素,即二维数组a[i][j],求长度:strlen(a[i]).
6.字符数组拼接用strcat,字符数组进行复制时用strcpy,字符数组比较用strcmp,在字符数组比较的时候,是根据对应下标字符的ASCII码值来比较(减法),直至差为0,说明两个数组不相同,返回差值。
例:创建一个字符串数组,内容是周围一圈人得名字,对字符串(英文)从小到大排序
//先定义一个字符串数组
char string[3][15] = {字符串1, 字符串2,字符串3};
//用冒泡排序法进行比较
for (int i = 0; i < 3 - 1; i++) {
for (int j = 0; j < 3 - 1 - i; j++) {
//字符串比较strcmp和复制strcpy
if (strcmp(string[i], string[i + 1]) > 0 ) {
strcpy(&temp, string[i + 1]);
strcpy(string[i + 1], string[i]);
strcpy(string[i], &temp);
}
}
}
for(int i = 0; i < 3; i++) {
printf("字符串排序string[%d] = %s\n", i, string[i]);
}
- 解决数组问题
- 解决数组越界问题
- 数组解决约瑟夫环问题
- 数组解决约瑟夫环问题
- 用数组解决成绩问题
- 后缀数组解决字符串问题
- python 解决数组赋值问题
- C/C++如何解决大数组问题?
- 使用数组解决约瑟夫环问题
- 用数组法解决约瑟夫问题
- 怎样解决数组越界的问题?
- 用carray解决多维动态数组问题
- 利用数组解决约瑟夫环问题
- 今天遇到的数组问题,解决中。。。
- 用树状数组解决区间查询问题
- zz 如何解决大数组问题?
- 括号配对问题 用数组解决
- 约瑟夫问题(php数组方式解决)
- flash文件制作笔记
- printf()、fprintf()和sprintf()的总结
- vim for dos编辑汇编语言代码简易教程
- linux shell 中判断语句
- hadoop 2.6.1 出现ssh无法解析主机名等错误提示的解决办法
- 解决数组问题
- OpenStack Neutron中的DVR简介与OVS流表分析
- pdf编辑工具下载
- 排序算法之快速排序
- java实现网络爬虫
- Xcode7中你一定要知道的炸裂调试神技
- JFinal 调用 oracle 存储过程的 步骤
- 拨打电话
- oracle的坑(不定期更新)