第六章 数组
C06-01
下面对数组定义正确的是:
int b[]      int b[n],n=5      int b[10/2]      int b[4.8]
若有定义语句:int a[10];则下列对a中数组元素正确引用的是
a[10/2–5]    a[10]    a[4.5]      a(1)
能对一维数组正确初始化的语句是:
int a[6]={6*1}        int a[6]={1,,,3}      int a[6]={}          int a[6]=(0,0,0)
定义数组:int n=10; int a[n];则数组a有10个元素
对   
如果定义数组int b[6]={1,2,3,4};则b[6]为0
对   
如果想使一个数组中全部元素的值为1,可以写成 int a[10]={1*10}
对   
若float型变量占用4个字节,有定义float a[20]={1.1,2.1,3.1};则数组a在内存中所占的字节数是:
12    20    40      80
若定义数组int a[10] ,其最后一个数组元素为a[10]
对   
如下定义一个数组:int a[30]; double i=20;则有数组元素a[i]
对   
有n(0<=n<=100)个整数要存储,可以这样定义数组吗?
int n;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
    scanf("%d",&a[i]);
对   
C06-02
int main()
{
  int p[7]={11,13,14,15,16,17,18}, i=0,k=0;
  while(i<7 && p[i]%2) {
    k =k+ p[i];  i++;  }
  printf("%d", k);
  return 0;}
58    56    45    24
条件:i<7&&p[i]%2,说明i要小于7并且p[i]是要奇数是初i=0所以可看出,i=0,i=1时, 经过的while循环当i=2时,p[2]=14不是奇数,则结束循环而p[0]=11,p[1]=13则k=24
有定义语句“int a[5],i;",输入数组a的所有元素的语句应为:
scanf("%d%d%d%d%d",a[5]);          scanf("%d",a);
for(i=0;i<5;i++)scanf("%d",a+i);        for(i=0;i<5;i++)scanf("%d",a[i]);
下面程序中有错误的行是______。   
1、  main(  )
2、  {
3、    int x[3];
4、    int k;
5、    scanf("%d", &x);
6、    for (k=1; k<3; k++)
7、      x[0]=x[0]+x[k];
8、    printf("x[0]=%d\n", x[0]);
9、  }
3    6  7
#include <stdio.h>
void main()
{  int a[10]={11,2,3,24,25,16,7,18,23,10};
    int k,s,i;
    float ave;
    for(k=s=i=0;i<10;i++)
    {  if(a[i]%2==0) continue;
    s+=a[i];
        k++;  }
    if(k!=0)
    {  ave=s/k;
      printf("k is:%d,ave is :%f\n",k,ave);
}}
k is:10,ave is :13.000000      k is:5,ave is :13.000000
k is:5,ave is :14.000000      k is:5,ave is :13.800000
void main()
{
  int n[3],t,j,k;
  for(t=0;t<3;t++)
    n[t]=0;
  k=2;
  for(t=0;t<k;t++)
    for(j=0;j<3;j++)
      n[j]=n[t]+1;
怎么定义二维数组c语言  printf("%d",n[1]);}
2    1    0      3
C06-03
以下能正确定义二维数组的语句为:
int a[][]    int a[][4]    int a[3][]        int a[3][4]
若有数组定义语句“int a[4][5];”,则对a中数组元素的正确引用是:
a[4][1]    a[2,1]    a[4][5]      a[4–1][5–5]
以下能对二维数组a进行正确初始化的语句为:
int a[2][ ]={{1},{4,5}}      int a[2][3]={1,2,3,4,5,6,7}
int a[ ][ ]={1,2,3,4,5,6}    int a[ ][3]={1,2,3,4,5}
设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是:
2    3    4    无确定值
若二维数组y有m列,则在y[i][j]前的元素个数为:
j*m+i        i*m+j    i*m+j-1        i*m+j+1
若有数组定义语句:int a[4][5]; 其中第10个数组元素怎么表示?
a[2][0]      a[2][5]    a[1][4]      a[1][5]
定义一个二维数组并进行初始化:int a[2][3]={{1,2,3,4},{0,0}};
对   
如下两个定义一样:
int a[2][3]={{1,2},{3,4,}};和 int a[2][3]={1,2,3,4};
对     
C06-04
int main(){
  int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6};
  int i,s=0;
  for(i=0;i<4;i++)
    s+=aa[i][1];
  printf("%d",s);
  return 0;}
11    19    13    20
有如下定义:float ff[5][6]; int i,j; 怎么输入整个数组呢?
for(i=0;i<5;i++)
for(j=0;j<6;j++)
scanf("%f",ff[i][j]);
scanf("%f",ff);
for(i=0;i<5;i++)
for(j=0;j<6;j++)
scanf("%f",&ff[i][j]);
for(i=1;i<=5;i++)
for(j=1;j<=6;j++)
scanf("%f",&ff[i][j]);
void main() {
  int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
  for(i=0;i<3;i++)
    for(j=i;j<=i;j++)
      t=t+b[i][b[j][j]];
  printf("%d",t); }
3    4    1    9
int  j;
int x[3][3]={1,2,3,4,5,6,7,8,9};
for (j=0;j<3;j++)
  printf("%d ",x[j][2-j]);
输出结果是:
1 5 9  1 4 7  3 5 7  3 6 9
产生并输出杨辉三角的前七行。 空格处应填():
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
#include<stdio.h>
void main ( ){
  int a[7][7];
  int i,j,k;
  for (i=0;i<7;i++) {
    a[i][0]=1;
    a[i][i]=1; }
  for (i=2;i<7;i++)
    for (j=1;j<i;j++)
      a[i][j]= ___________;
  for (i=0;i<7;i++) {
    for (j=0;i+1>j;j++)
      printf("%6d",a[i][j]);
    printf("\n");
  }
}
a[i][j-1]+a[i][j]        a[i-1][j-1]+a[i-1][j]      a[i-1][j]+a[i-1][j+1]      a[i][j]+a[i][j+1]
C06-05
下列对字符数组的初始化不正确的是:
char s[5]="abc";          char s[5]={'a','b','c','d','e'};
char s[5]="abcde";        char s[]="abcde";
有定义语句:int  b; char  c[10];,则正确的输入语句是:
scanf("%d%s",&b,&c);        scanf("%d%s",&b,c);
scanf("%d%s",b,c);            scanf("%d%s",b,&c);
设已定义char c[10]="Hangzhou"和int j,则下面的输出函数调用中错误的是:
printf("%s",c); for(j=0;j<10;j++) printf("%c",c[j]);
puts(c);        for(j=0;j<10;j++) puts(c[j]);
#include<stdio.h>
int main( )
{  char a[]="abcdefg",b[10]="abcdefg";
  printf("%d  %d",sizeof(a),sizeof(b));

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。