有以下定义 int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int(*ptr)[3]=a,*p=a[0]; 则下列能够正确表示数组元素a[1][2]的表达式是( )。
A.((*ptr+1)[2])
B.*(*(p+5))
C.(*ptr+1)+2
D.*(*(a+1)+2)
A.((*ptr+1)[2])
B.*(*(p+5))
C.(*ptr+1)+2
D.*(*(a+1)+2)
第1题
有以下定义,则此数组的元素中不正确的一个赋值结果是 ______。 static int a[10]={1,2,3,4,5};
A.a[10]=2
B.a[0]=1
C.a[3]=4
D.a[7]=0
第2题
A.int a[1][4]={1,2,3,4,5};
B.float x[3][]={{1},{2},{3}};
C.longb[2][3]={{1},{1,2},{1,2,3}};
D.double y[][3]={0};
第3题
A.*w[1]+1
B.p++,*(p+1)
C.w[2][2]
D.p[1][1]
第4题
若已定义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];
}
第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的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
第8题
A.4
B.3
C.1
D.2
第9题
已有定义:“int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12),(*p)[4];”则执行语句“p=a+1;”后p[1][1]的值是()。
A.2
B.6
C.9
D.10