1.以下为一维整型数组a的正确说明是________.

1.以下为一维整型数组a的正确说明是________.
a)int a(10); b)int n=10,a[n];
c)int n; d)#define SIZE 10;
scanf("%d",&n); int a[SIZE];
int a[n];
2.以下对二维数组a的正确说明是________.
a)int a[3][]; b)float a(3,4);
c)double a[1][4] d)float a(3)(4);
3.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为______.
(假设a[0][0]位于数组的第一个位置上。)
a)i*m+j b)j*m+i c)i*m+j-1 d)i*m+j+1
4.若二维数组a有m列,则在a[i][j]前的元素个数为________.
a)j*m+i b)i*m+j c)i*m+j-1 d)i*m+j+1
5.若有以下程序段:
。。。 。。。
int a[]={4,0,2,3,1},i,j,t;
for(i=1;i<5;i++)
{t=a[i];j=i-1;
while(j>=0&&t>a[j])
{a[j+1]=a[j];j--;}
a[j+1]=t;}
... ...
则该程序段的功能是________.
a)对数组a进行插入排序(升序)
b)对数组a进行插入排序(降序)
c)对数组a进行选择排序(升序)
d)对数组a进行选择排序(降序)
6.有两个字符数组a、b,则以下正确的输入语句是_______.
a)gets(a,b); b)scanf("%s%s",a,b);
c)scanf("%s%s",&a,&b); d)gets("a"),gets("b");
7.下面程序段的运行结果是_________.
char a[7]="abcdef";
char b[4]="ABC";
strcpy(a,b);
printf("%c",a[5]);
a)空格 b)\0 c)e d)f
8.判断字符串s1是否大于字符串s2,应当使用_______.
a)if(s1>s2) b)if(strcmp(s1,s2))
c)if(strcmp(s2,s1)>0) d)if(strcmp(s1,s2)>0)
9.下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔,请选择填空。
#include <stdio.h>
main()
{
char s[80],c1,c2='';
int i=0,num=1;
gets(s);
while(s[i]!='\0')
{c1=s[i];
if(i==0)c2='';
else c2=s[i-1];
if(_ _ _)num++
i++;
}
printf("There are %d words.\n",num);
}
a)c1==''&&c2=='' b)c1!=''&&c2==''
c)c1==''&&c2!='' d)c1!=''&&c2!=''
10.下面程序的运行结果是_______.
#include <stdio.h>
main()
{char str[]="SSSWLIA",c;
int k;
for(k=2;(c=str[k])!='\0';k++)
{switch(c)
{case 'I':++k;break;
case 'L':continue;
default:putchar(c);continue;
}
putchar('*');
}
}
a)SSW* b)SW* c)SW*A d)SW

二、程序编写
1,将一个一位数组a[10]中的元素值按逆序重新存放.假定数组中原来元素顺序为:1,3,5,7,9,8,6,4,2,0,按逆序重新存放后元素的值位:0,2,4,6,8,9,7,5,3,1。要求:在程序中将数组初值初始化,输出逆序重新存放后元素的值。

(1)D
(2)C
(3)D
(4) B
(6) B
(7) D
(8) D
(9) C
(10) B
二、
#include <stdio.h>
void main()
{
int a[]={1,3,5,7,9,8,6,4,2,0};
for(int i =0; i < 5; i++)
{
int m =a[i];
a[i]=a[9-i];
a[9-i]=m;
}
for(i = 0; i < 10; i++)
printf("%d ", a[i]);

}
编译通过,能够运行
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-05-28
1)D
(2)C
(3)D
(4) B
(6) B
(7) D
(8) D
(9) C
(10) B
二、
#include <stdio.h>
void main()
{
int a[]={1,3,5,7,9,8,6,4,2,0};
for(int i =0; i < 5; i++)
{
int m =a[i];
a[i]=a[9-i];
a[9-i]=m;
}
for(i = 0; i < 10; i++)
printf("%d ", a[i]);

}
第2个回答  2012-06-28
(6)C