C语言第六章数组习题答案
第六章 数组
习题答案
一、选择题
12345678910CDBDCDDBCC11121314151617181920DBBCDDCDBD21222324252627282930DDDDBDCCDC二、填空题
1、y<4 x+y==2
2、0 4
3、0 6
4、&a[i] i%4==0 printf("\n");
5、i+j==3_ a[i][j]
6、12
7、a[i][j]+b[i][j] printf(“\n”)
8、按行存放
9、( a[i]>a[j])
10、将串str2复制到串str1中后再将串str3连接到串str1之后
三、阅读题
5、如右图所示
6、92
7、1,2,5,7,
8、2
9、v1=5,v2=8,v3=6,v4=1
10、a*b*c*d*
四、编程题
1、以十个数排序为例,进行由小到大排
(1)选择法排序
#include
void main( )
{int i,j,n=10,p,a[10];int temp;
for(i=0;i
printf("\n 原始的一维数组是:\n");
for(i=0;i
for(i=0;i
{ p=i; /*假定第i趟中最小数的位置是i*/
for(j=i+1;j
if(a[j]
if(i!=p) {temp=a[i];a[i]=a[p];a[p]=temp;}
}
printf("\n排序后的一维数组:\n");
for(i=0;i
}
(2)比较法排序
#include
void main( )
{int i,j,n=10,p,a[10];int temp;
for(i=0;i
printf("\n 原始的一维数组是:\n");
for(i=0;i
for(i=0;i
for(j=i+1;j
if(a[i]>a[j]) {temp=a[i];a[i]=a[j];a[j]=temp;}
printf("\n排序后的一维数组:\n");
for(i=0;i
}
2、以在十个数据(由小到大排列的十个数)中插入一个数为例
#include
void main( )
{int a[11],i,n=10,k; int point;
printf("\n 请输入原始数据:\n");
for(i=0;i
printf("\n 原始数据是:\n");
for(i=0;i
printf("\n请输入要插入的数");
scanf("%d",&k); /*输入要插入的数据*/
for(i=0;i
if(a[i]>k) {point=i; break;}
if(i!=n)
{for(i=n;i>point;i--) a[i]=a[i-1];
a[point]=k;} /*从后向前方式*/
else
a[n]=k;
printf("插入后的数是:\n");
for(i=0;i
}
3、#include
int main()
{int i,j,upp,low,dig,spa,oth;
char text[3][80];
upp=low=dig=spa=oth=0;
for (i=0;i<3;i++)
{ printf("p