C语言中的一维数组与多维数组以及随机数问题

admin 2024-12-21 229人围观 ,发现139个评论

1.一维数组的初始化以及输出一个数组

(){inta[]={100,98,102,260,432,72,15,223};intmin=0;intmax=sizeof(a)/sizeof(a[0])-1;while(minmax){inttemp=a[min];a[min]=a[max];a[max]=temp;max--;min++;}for(inti=0;isizeof(a)/sizeof(a[0]);i++){printf("a[%d]=%d\n",i,a[i]);}return0;}

4.冒泡排序法

(){inta[]={100,98,102,260,432,72,15,223,54,39,289};inti,j;intmax=sizeof(a)/sizeof(a[0]);for(i=0;imax;i++){for(j=1;jmax-i;j++){if(a[j-1]a[j]){inttemp=a[j-1];a[j-1]=a[j];a[j]=temp;}}}for(i=0;imax;i++){printf("%d",a[i]);}return0;}

5.二维数组的初始化和输出

(){inta1[10];//一位数组inta2[2][10];//二维数组,其中包含两个一维数组,a2[0]a2[1]intindex=0;for(inti=0;i2;i++){for(intj=0;j10;j++){a2[i][j]=index++;}}//遍历一个二维数组,将每个元素赋值for(inti=0;i2;i++){for(intj=0;j10;j++){printf("%d\n",a2[i][j]);}}//遍历一个二维数组,将每个数组成员打印输出printf("%d\t%d\t%d\n",sizeof(a2),sizeof(a2[0]),sizeof(a2[0][0]));//80,40,4printf("%p%p%p\n",a2,a2[0],a2[0][0]);//3个地址相同//inta3[3][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}};//inta3[3][5]={{1,2,3,4,5},{6,7,8,}};//其余元素自动设置为0//inta3[3][5]={0};//所有初值设置为0inta3[][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20}};for(inti=0;isizeof(a3)/sizeof(a3[0]);i++){for(intj=0;jsizeof(a3[0])/sizeof(a3[0][0]);j++){printf("a3[%d][%d]=%d\n",i,j,a3[i][j]);}printf("\n");}return0;}

6.三维数组排序

_01(){inta[2][4][5];//三维数组,有两个二维数组,分别是a[0],a[1]a[0][0][0]=5;intindex=0;for(inti=0;i2;i++){for(intj=0;j4;j++){for(intk=0;k5;k++){a[i][j][k]=index++;}}}for(inti=0;i2;i++){for(intj=0;j4;j++){for(intk=0;k5;k++){printf("a[%d][%d][%d]=%d\n",i,j,k,a[i][j][k]);}}}//inta2[2][3][4]={{{1,2,3,4},{5},{11,12}},{{2},{3},{4}}}inta2[2][3][4]={0};return0;}//给一个三维数组排序intmain10_02(){inta[2][3][5]={{{11,54,85,89,25},{110,545,786,21,1},{11,88,55,77,41}},{{88,45,95,25,45},{87,21,54,65,32},{12,54,84,62,52}}};intb[30];intindex=0;for(inti=0;i2;i++){for(intj=0;j3;j++){for(intk=0;k5;k++){b[index]=a[i][j][k];index++;}}}for(inti=0;i30;i++){for(intj=1;j30-i;j++){if(b[j-1]b[j]){inttemp=b[j];b[j]=b[j-1];b[j-1]=temp;}}}index=0;for(inti=0;i2;i++){for(intj=0;j3;j++){for(intk=0;k5;k++){a[i][j][k]=b[index];index++;}}}for(inti=0;i2;i++){for(intj=0;j3;j++){for(intk=0;k5;k++){printf("a[%d][%d][%d]=%d\t",i,j,k,a[i][j][k]);}printf("\n");}}}

7.字符数组

_CRT_SECURE_#//计算机的时钟是不停改变的值//time函数是c语言的库函数,功能是获取系统当前时间intmain(){inta;unsignedinttm=time(NULL);//种子不同rand产生的随机数不同,若srand参数不变,产生的随机数还是一样的srand(tm);for(inti=0;i100;i++){a=rand()%101;//得到从0至100之间的随机数printf("%d\n",a);}return0;}
猜你喜欢
    不容错过