以下数组定义中不正确的是( )。
A.int a[2][3]:
B.int b[][3]={0,1,2,3};
C.int c[100][100]={0};
D.int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
A.int a[2][3]:
B.int b[][3]={0,1,2,3};
C.int c[100][100]={0};
D.int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
第1题
若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是______。 (0<=i<4,0<=j<10)
A.*(&a[0][0]+10*i+j)
B.*(a+i)+j
C.*(*(a+i)+j)
D.*(a[i]+j)
第2题
以下数组定义中不正确的是( )。
(A)int a[2][3]; (B)intb[][3]={0,1,2,3};
(C)int c[100][100]={0}; (D)int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
第3题
若已定义int a[10], i:,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10:在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。请填空。
fun(int a[])
{ int i;
for(i=1;i<=10;i++) ______=i;
for(i=0;i<5;i++)______=a[i];
}
第4题
A.a[p-a]
B.* (&a[i] )
C.p[i]
D.* (* (a+i) )
第5题
A.*(a+1)
B.a[p-a]
C.p+i
D.*(&a[i])
第6题
数组
1.实验目的
①掌握一维数组和二维数组的定义、赋值和输入输出的方法。
②掌握字符数组和字符串函数的使用。
③掌握与数组有关的算法(特别是排序算法)。
2.实验内容
编程序并上机调试运行。
①以下程序运行后的输出结果是______。
main()
{int a[4][4]={{1-2,-3,-4}, {0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};
int i,j,s=0;
for(i=0;i<4;i++)
{,for(j=0;j<4;j++)
{if(a[i][j]<0)continue;
if(a[i][j]==0)break;
s+=a[i][j];
}
}
printf("%d\n",s):
}
②以下程序运行后的输出结果是______。
main()
{int i,n[]={0,0,0,0,0);
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
}
③以下程序运行后的输出结果是______。
main()
{int i,j,a[][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)a [j][i]=0;
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%d",a[i][j]);
printf("\n");
}
}
④求出任何n×5的数组中所有数据的平均值。
⑤若有说明:int a[2][3]={{1,2,3},{4,5,6}};现要将a的行和列的元素互换后存入另一个二维数组b中。
⑥通过循环按行顺序为一个5*5的二维数组a赋1到25的自然数,然后输出该数组的左下半角。
⑦试编程打印出5*5的螺旋方阵。
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
⑧某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
第7题
A.int a[3][4]={0};
B.int a[3][4]={{1,2},{1,2,3},{1,2,3,4}};
C.int a[3][]={0,1,2,3,4,5,6,7,8,9,10,11,12};
D.int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
第8题
若有定义:“int a[3][5],i,j;”(且0<=i<3,0<=j<5),则a数组中任一元素可用5种形式引用。它们是: ①a[i][j] ②*(a[i]+j) ③*(* ); ④(*(a+i))[j] ⑤*(________+5*i+j)
第9题
A.一条语句只能定义一个数组
B.每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元
C.定义一个整型一维数组 int arr[2+3]
D.在引用数组元素时,下标表达式可以使用浮点数
第10题
下列程序定义了N×N的二维数组,并在主函数中自动赋值;请编写函数fun(int a[][N]),该函数的功能是:使数组左下半三角元素中的值全部置成0。例如a数组中的值为
a=1 9 7
2 3 8
4 5 6
则返回主程序后a数组中的值应为
0 9 7
0 0 8
0 0 0
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include <conio.h>
include <stdio.h>
include <stdlib.h>
define N 5
int fun (int a[] [N])
{
}
main()
{
int a[N] [N],i,j;
clrscr();
printf("*****The array*****\n");
for(i=0;i<N;i++)
/*产生—个随机的5*5矩阵*/
{ for(j=0;j<N;j++)
{a[i][j]=rand()%10;
printf("%4d", a[i][j]);
}
printf("\n");
}
fun (a);
printf("THE RESULT\n");
for(i=0;i<N;i++)
{ for(j=0;j<N;j++)
printf("%4d",a[i][j));
printf("\n");
}
}