3一维数组的初始化类型说明符数组名[常量表达式]=(值,值.值】(1)给全部元素赋初值int a[5]={1,2,3,4,5];或 int aa[]=(1,2,3,4,5];(2)只能给元素逐个赋初值,不能给数组整体赋值int a[10]=(1,1,1,1,1,1,1,1,1,1};(3)可以只给部分元素赋初值,未被初始化的元素值为0 :char a[6]={'a',e',q'}a[0]='a'a[1]='e'a[2]='q'a[3]=0a[4]=0a[5]=0int a[6]={0];a[0]=0a[5]=0a[3]=0a[4]=0a[1]=0 a[2]=0
3 一维数组的初始化 (3)可以只给部分元素赋初值,未被初始化的元素值 为0 : char a[6]={'a','e','q'}; a[0]='a' a[1]='e' a[2]='q' a[3]=0 a[4]=0 a[5]=0 (2)只能给元素逐个赋初值,不能给数组整体赋值。 int a[10]={1,1,1,1,1,1,1,1,1,1}; 类型说明符 数组名[常量表达式]={值,值.值}; (1)给全部元素赋初值 int a[5]={1,2,3,4,5}; 或 int a[ ]={1,2,3,4,5}; int a[6]={0}; a[0]=0 a[1]=0 a[2]=0 a[3]=0 a[4]=0 a[5]=0
小结数组元素未进行初始化,则为机器值chara[10];当全部元素初始化时,可以不指定数组的大小;int a[]=(1,2,3,4,5];当部分元素初始化时,未被初始化的元素值为0,必须指定大小。float a[10]=(0,1,2,3,4];
小结: 数组元素未进行初始化,则为机器值。 char a[10]; 当全部元素初始化时,可以不指定数组的大小; int a[ ]={1,2,3,4,5}; 当部分元素初始化时,未被初始化的元素值为0,必 须指定大小。 float a[10]={0,1,2,3,4};
4一维数组程序举例补充例2:数组元素计数。模拟掷麻将般子1000次,统计并显示每个点的出现的次数int side[7]={0];side[1]:保存掷1的次数for(n=1;n<=1000;n++)重复执行:side[1]=side[1]+1/对掷1进行计数(p=rand()%(6-1+1)+1;side[2]:保存掷2的次数side[p]=side[p]+1;重复执行:side[2]=side[2]+1对掷2进行计数7side[6]side[3]=side[3]+1=0+1=1side[5]=side[5]+1=0+1=1p=rand()%(6-1+1)+1;side[0]-side[3]=side[3]+1=1+1=2side[1]side[p]=side[p]+1;side[2]=side[2]+1=0+1=1side[2]3side[3]side[3]=side[3]+1=2+1=3side[4]0f:3532351side[5]=side[5]+1=1+1=22side[5]side[1]=side[1]+1=0+1=10side[6]
int side[7]={0}; for(n=1;n<=1000;n++) { p=rand()%(6-1+1)+1; side[p]=side[p]+1; } 补充例2:数组元素计数。模拟掷麻将骰子1000次,统计 并显示每个点的出现的次数。 side[1]:保存掷1的次数 重复执行: side[1]=side[1]+1 // 对掷1进行计数 side[2] :保存掷2的次数 重复执行: side[2]=side[2]+1 // 对掷2进行计数 side[6] side[0] side[1] side[2] side[3] side[4] side[5] side[6] 0 0 0 0 0 0 0 p=rand()%(6-1+1)+1; side[3]=side[3]+1= 0+1=1 f: 3 5 3 2 3 5 1 . side[p]=side[p]+1; side[2]=side[2]+1= 0+1=1 1 1 1 1 2 2 3 side[5]=side[5]+1= 0+1=1 side[3]=side[3]+1=1+1=2 side[3]=side[3]+1=2+1=3 side[5]=side[5]+1=1+1=2 side[1]=side[1]+1=0+1=1 4 一维数组程序举例
补充例2的程序代码#include <stdio.h>#include<stdlib.h>#include<time.h>void mainO(int side[7]={0],n,p;srand((unsigned)time(NULL))for(n=1;n<=1000;n++){p=rand0%(6-1+1)+1;side[p]=side[p]+1;printf("点数次数\n");for(p=1;p<=6:p++)printf(" %d%d\n",p,side[p]);1
补充例2的程序代码 #include <stdio.h> #include<stdlib.h> #include<time.h> void main() { int side[7]={0},n,p; srand((unsigned)time(NULL)); for(n=1;n<=1000;n++) { p=rand()%(6-1+1)+1; side[p]=side[p]+1; } printf("点数 次数\n"); for(p=1;p<=6;p++) printf(" %d %d\n",p,side[p]); }
补充例3:利用随机函数产生并显示20个大写的英文字母,要求按以下格式重新显示这20个大写的英文字母:1.显示两行,每两个字母中插入一个空格。2.元音字母以*代替2个部分:1.产生、存储、显示203.运行结果如下图。个大写的英文字母"D:/2020-2021-1\C\例\examplebc83\Debug)..口X2.根据要求显示结果显示随机产生的20个大写英文字母:char ch[20]ZHUTGULRFPHWYTHKOOMR按要求显示:for(k=0;k<20;k+ +)ZH*TG*LRFPIWYTHK**MRchkl=rand0%(Z-A +1)+ APress any key to continueprintf("%c",ch[k])if(ch[k] =='A'llch[k] =='E'llch[K] ==''llch[k] =='O'llch[k] = ='U)printf("*");elseprintf("%c"ch[k])
补充例3:利用随机函数产生并显示20个大写的英文字母,要 求按以下格式重新显示这20个大写的英文字母: 1. 显示两行,每两个字母中插入一个空格。 2. 元音字母以 *代替。 3. 运行结果如下图。 ch[k]=rand()%('Z'-'A'+1)+'A' char ch[20] for(k=0;k<20;k++) 2个部分: 1. 产生、存储、显示20 个大写的英文字母 2.根据要求显示结果 if(ch[k]=='A'||ch[k]=='E'||ch[k]=='I'||ch[k]=='O'||ch[k]=='U') printf("* "); else printf("%c ",ch[k]); printf("%c",ch[k])