C语言对数组的初始化赋值还有以下几点规定: 1)可以只给部分元素赋初值。 }中值的个数少于元素个数时,只给前面部分元素 赋值。例如: 58百动只给山0a45个元素赋值,而 2)只能给元素逐个赋值,不能给数组整体赋值 例如给十个元素全部赋1值,只能写为: inta[10}={1,1,1,1,1,1,1,1,1,1};而不能写为:inta[10]=1 3)如给全部元素赋值,则在数组说明中,可以不给出数组 元素的个数 例如:inta5]={1,2,3,4,5},可写为:inta]={1,2,3,4,5};
C语言对数组的初始化赋值还有以下几点规定: 1)可以只给部分元素赋初值。 当{ }中值的个数少于元素个数时,只给前面部分元素 赋值。例如: int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而 后5个元素自动赋0值。 2)只能给元素逐个赋值,不能给数组整体赋值。 例如给十个元素全部赋1值,只能写为: int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:int a[10]=1; 3)如给全部元素赋值,则在数组说明中,可以不给出数组 元素的个数。 例如:int a[5]={1,2,3,4,5};可写为:int a[]={1,2,3,4,5};
维数组程序举例可以在程序执行过程中,对数组作 动态赋值。这时可用循环语句配合scan函数逐个对数 组元素赋值。【例】分析如下程序的功能 main() i int i, max, a[10] printf("input 10 numbers: In) for(i=0;1<10;i++) scanf("od,&a[i);/*10个数据之间用空格分隔* max-a [0]; for(=1;i<10;i++) if(ai>max)max-all printf("maxmum=%odn", max);)
一维数组程序举例可以在程序执行过程中,对数组作 动态赋值。这时可用循环语句配合scanf函数逐个对数 组元素赋值。【例】分析如下程序的功能 main( ) { int i,max,a[10]; printf("input 10 numbers:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); /*10个数据之间用空格分隔*/ max=a[0]; for(i=1;i<10;i++) if(a[i]>max) max=a[i]; printf("maxmum=%d\n",max); }
本例程序中第一个for语句逐个输入10个 数到数组a中。然后把a0送入max中 在第二个fo语句中,从a[1]到a[9逐个与 max中的内容比较,若比max的值大,则 把该下标变量送入max中,因此max总是 在已比较过的下标变量中为最大者。比 较结束,输出max的值
本例程序中第一个for语句逐个输入10个 数到数组a中。 然后把a[0]送入max中。 在第二个for语句中,从a[1]到a[9]逐个与 max中的内容比较,若比max的值大,则 把该下标变量送入max中,因此max总是 在已比较过的下标变量中为最大者。比 较结束,输出max的值
【例】选择升序排序 main( f int i,j,p, q,s, a[10] printf("n input 10 numbers: n") for(i=0; K<10; 1++) scanf(" %od", &aid for(i=0;1<10;i++) ip=i; q=al for(=i+1j<10j++) if( p=j; q=al];) if(il=p)s=aJ]; a]=ap]; alp=s;) printf("%"a[1:))
【例】选择升序排序 main( ) { int i,j,p,q,s,a[10]; printf("\n input 10 numbers:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) { p=i;q=a[i]; for(j=i+1;j<10;j++) if(q<a[j]) { p=j;q=a[j]; } if(i!=p) {s=a[i]; a[i]=a[p]; a[p]=s; } printf("%d",a[i]); } }