资讯动态

数组操作技巧:逆序、冒泡、选择排序

发布时间:2026/8/12 21:24:17 来源:尧图企业网站定制
数组常用操作1.逆序和倒置#include stdio.h #include stdlib.h #include time.h int main() { int a[10] {0}; srand(time(NULL)); int len sizeof(a)/sizeof(a[0]); int i 0; for(i0;ilen;i) { a[i] rand()%100; } printf(逆序前:\n); for(i0;ilen;i) { printf(%d ,a[i]); } printf(\n); for(i0;ilen/2;i) { int t a[i]; a[i] a[len-1-i]; a[len-1-i] t; } printf(逆序后:\n); for(i0;ilen;i) { printf(%d ,a[i]); } printf(\n); }2.冒泡排序排序把一个数组按照特定的规则进行排列位置的操作默认从小到大升序/降序目的更快捷查找每一次都会找一个最大值把最大值存储到后面对应位置依次比较相邻元素内层循环#include stdio.h #include stdlib.h #include time.h int main() { srand(time(NULL)); int a[10]{0}; int i 0; int j 0; int len sizeof(a)/sizeof(a[0]); for(i0;ilen;i) { a[i]rand()%100; } printf(冒泡前: ); for(i0;ilen;i) { printf(%-2d ,a[i]); } printf(\n); int t 0; for(jlen-1;j0;j-- ) { for(i0;ij;i) { if(a[i]a[i1]) { ta[i]; a[i]a[i1]; a[i1]t; } } } printf(冒泡后: ); for(i0;ilen;i) { printf(%-2d ,a[i]); } printf(\n); return 0; }3.选择排序每一次都会找一个最大值把最大值存储到后面对应位置依次比较元素内层循环#include stdio.h #include stdlib.h #include time.h int main() { srand(time(NULL)); int a[10]{0}; int i 0; int j 0; int len sizeof(a)/sizeof(a[0]); for(i0;ilen;i) { a[i]rand()%100; } printf(排序前: ); for(i0;ilen;i) { printf(%-2d ,a[i]); } printf(\n); int t 0; for(i0;ilen-1;i ) { for(ji1;jlen;j) { if(a[i]a[j]) { ta[i]; a[i]a[j]; a[j]t; } } } printf(排序后: ); for(i0;ilen;i) { printf(%-2d ,a[i]); } printf(\n); return 0; }二维整型数组是由多个一维数组组成int a[3][3];//a是一个二维数组a里面有3个元素其中每个元素又是一个可以存储三个整型变量的一维数组行数列数要求是整型#includestdio.h int main() { int a[2][2]{1,2,3,4}; printf(%d\n,a[0][0]); printf(%d\n,a[0][1]); printf(%d\n,a[1][0]); printf(%d\n,a[1][1]); return 0; }#includestdio.h #includestdlib.h #includetime.h int main() { srand(time(NULL)); int a[3][5]{0}; int i0; int j0; for(i0;i3;i) { for(j0;j5;j) { a[i][j]rand()%100; } printf(\n); } for(i0;i3;i) { for(j0;j5;j) { printf(a[%d][%d]%-2d\t ,i,j,a[i][j]); } printf(\n); } return 0; }存储空间sizeof(a); sizeof a[0]; sizeof a[0]][0];特性单一性连续性有序性一维字符数组用途用来存储字符串。存储多个字符的数组。定义的语法char a[10];元素个数在C语言中需要\0结尾如hello:元素个数为6个在访问时不可省略#include stdio.h int main() { // 全部初始化 char str1[6]{h,e,l,l,o,\0}; char str2[6]{hello};// 字符串常量 有\0 char str3[6]hello; // 常用 // 部分初始化 char str4[10]{h,e,l,0};// 剩下的补 0 char str5[10]{hello}; char str6[10]{0}; //常用 // 默认初始化 char str7[] {h,e,l,o}; // 不是字符串 不建议 char str8[]{hello}; char str9[]hello; // printf(str1 %s\n,str1); printf(intput name:); scanf(%s,str6); // str6 不用 操作, 不要越界 printf(%s hello\n,str6); return 0; }

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价