大一C语言求解答

(三)项目四 数组
选择题:
1.若二维数组a有m列,则在a[i][j]前的元素个数为________.
a)j*m+i b)i*m+j c)i*m+j-1 d)i*m+j+1
2.以下对二维数组a的正确说明是________.
a)int a[3][]; b)float a(3,4); c)double a[1][4]; d)float a(3)(4);
3.若有说明:int x[][3]={1,3,5,7,9,11};,则x数组的行数为_______。
A.2 B.3 C.4 D.无确定值
4.若有以下定义
int a[ ]={1,2,3,4,5,6,7};
char c1=’b’,c2=’2’;
则数值不为2的表达式是__________。
A.c2-0 B.a[1] C.’d’-c1 D.a[‘3’-c2]
5.以下程序的输出结果是___________。
main( )
{ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=0;i<3;i++)
for(j=0;j<=i;j++)
s+=a[i][j];
printf(“%d\n”,s);
}
A.18 B. 19 C. 20 D. 21
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.当执行下面的程序时,如果输入ABC,则输出结果为_________。
#include <stdio.h>
#include <string.h>
main()
{char ss[10]=”1,2,3,4,5”;
gets(ss);strcat(ss,”6789”);printf(”%s\n”,ss);
}
A. ABC6789 B. BC67 C. 12345ABC6 D. ABC456789
8.判断字符串s1是否大于字符串s2,应当使用_______.
a)if(s1>s2) b)if(strcmp(s1,s2))
c)if(strcmp(s2,s1)>0) d)if(strcmp(s1,s2)>0)
填空题:
1.下面程序以每行4个数据的形式输出a数组,请填空。
#define N 20
main()
{ int a[N],i;
for(i=0;i<N;i++)scanf("%d",_______);
for(i=0i<N;i++)
{if (_____________) _____________
printf("%3d",a[i]);
}
printf("\n");
}
2.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};
则初始化后,a[1][2]的初值是_________,a[2][1]的初值是_________。
3.下面程序的运行结果是________。
main( )
{ int a[10]={10,2,-13,21,11,67,-78,8,90,-53};
int i,x=0, y=0;
for(i=0;i<10;i++)
if(a[i] >0) x++;
else y++;
printf(“%d,%d\n”, x, y );
}
4.下面程序的功能是:输入50个数,按逆序输出,请填空。
main( )
{int a[50],i;
for(i=0;i<50;i++)
scanf(“%d”, &a[i]);
for(_________;i>=0;__ ______)
printf(“%4d”,a[i]);
}
5. 下面程序可求出矩阵a的除主对角线上的元素之和,请填空。
main()
{ int a[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(_____)sum=sum+_______;
printf("sum=%d\n",sum);
}
6. 下面程序的功能是在三个字符串中找出最小的,请填空。
#include<stdio.h>
#include<string.h>
main()
{ char s[20],str[3][20];
int i;
for(i=0;i<3;i++)gets(str[i]);
strcpy(s,_______);
if(strcmp(str[2],s)<0)strcpy(s,str[2]);
printf("%s\n",_______);
}

(三)项目四 数组
选择题:
1.若二维数组a有m列,则在a[i][j]前的元素个数为____d____.
a)j*m+i b)i*m+j c)i*m+j-1 d)i*m+j+1
2.以下对二维数组a的正确说明是____c____.
a)int a[3][]; b)float a(3,4); c)double a[1][4]; d)float a(3)(4);
3.若有说明:int x[][3]={1,3,5,7,9,11};,则x数组的行数为____A___。
A.2 B.3 C.4 D.无确定值
4.若有以下定义
int a[ ]={1,2,3,4,5,6,7};
char c1=’b’,c2=’2’;
则数值不为2的表达式是_____A_____。
A.c2-0 B.a[1] C.’d’-c1 D.a[‘3’-c2]
5.以下程序的输出结果是_____B______。
main( )
{ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=0;i<3;i++)
for(j=0;j<=i;j++)
s+=a[i][j];
printf(“%d\n”,s);
}
A.18 B. 19 C. 20 D. 21
6.有两个字符数组a、b,则以下正确的输入语句是___b____.
a)gets(a,b); b)scanf("%s%s",a,b);
c)scanf("%s%s",&a,&b); d)gets("a"),gets("b");
7.当执行下面的程序时,如果输入ABC,则输出结果为____A_____。
#include <stdio.h>
#include <string.h>
main()
{char ss[10]=”1,2,3,4,5”;
gets(ss);strcat(ss,”6789”);printf(”%s\n”,ss);
}
A. ABC6789 B. BC67 C. 12345ABC6 D. ABC456789
8.判断字符串s1是否大于字符串s2,应当使用___d____.
a)if(s1>s2) b)if(strcmp(s1,s2))
c)if(strcmp(s2,s1)>0) d)if(strcmp(s1,s2)>0)
填空题:
1.下面程序以每行4个数据的形式输出a数组,请填空。
#define N 20
main()
{ int a[N],i;
for(i=0;i<N;i++)scanf("%d",___a+i____);
for(i=0;i<N;i++)
{if (___(i+1)%4==0____) ___printf("\n");____
printf("%3d",a[i]);
}
printf("\n");
}
2.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};
则初始化后,a[1][2]的初值是____0_____,a[2][1]的初值是____6_____。
3.下面程序的运行结果是__7,3___。
main( )
{ int a[10]={10,2,-13,21,11,67,-78,8,90,-53};
int i,x=0, y=0;
for(i=0;i<10;i++)
if(a[i] >0) x++;
else y++;
printf(“%d,%d\n”, x, y );
}
4.下面程序的功能是:输入50个数,按逆序输出,请填空。
main( )
{int a[50],i;
for(i=0;i<50;i++)
scanf(“%d”, &a[i]);
for(___i=49____;i>=0;__i--___)
printf(“%4d”,a[i]);
}
5. 下面程序可求出矩阵a的除主对角线上的元素之和,请填空。
main()
{ int a[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(__i!=j__)sum=sum+___a[i][j]____;
printf("sum=%d\n",sum);
}
6. 下面程序的功能是在三个字符串中找出最小的,请填空。
#include<stdio.h>
#include<string.h>
main()
{ char s[20],str[3][20];
int i;
for(i=0;i<3;i++)gets(str[i]);
strcpy(s,__strcmp(str[0],str[1])<0_? str[0] : str[1]__);
if(strcmp(str[2],s)<0)strcpy(s,str[2]);
printf("%s\n",___s____);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-31
1.b
2.c
3.a
4.a
5.b
6.b
7.a
8.d
1. &a[i] i%4==0 printf("\n");
2. 0 6
3. 7,3
4. i=50-1 i--
5. i!=j a[i][j]
6. strcmp(str[0],str[1])<0?str[0]:str[1] s
第2个回答  2012-12-31
分都没有这么大堆题

d c a a d b d d
&a[i] (i 1)%4 == 0 . putchar('\n');
0 6
7 3
i = 49 i--
i != j a[i]
str[i] s

参考资料:wsmssdzsw00

第3个回答  2012-12-31
d c a a d b d d
&a[i] (i 1)%4 == 0 . putchar('\n');
0 6
7 3
i = 49 i--
i != j a[i]
str[i] s
第4个回答  2012-12-31
额,自己看看书吧,书上有~~