内容正文:
第六章 数 组(A)
第六章 数 组(A)
一、理论测试题(每小题12分,其中输出格式占2分,共60分)
1. 写出下列程序的运行结果。
#include<stdio.h
int mainO)
(inti,j;
int a20][20];
for(i-0:i<6;i十十)
for(j-0;j-i;j++)
if(j一=0 |1i--j)
ai[j]-1;
elseaii]=ai-1j-1+ai-1]
printf("%5d",a[i]j]);
)
printf("
");
)
_。{2
2. 写出下列程序的运行结果。
#includestdio.h>
int mainO)
(intx,y,z,i;
inta]-{-4,10,2,7,-1,0,19,-22,23,0);
x-y-z-0;
for(i-0;i<10;i十十)
if(ai门<o)
x十十;
else if(a[i]一-0)
y十十;
else if(ai门>o)
z十十;
printf(“%dt%dt%d”,x,y,z);
3. 阅读下列程序,写出下面程序的运行结果
#include"string. h"
共include."stdio.h"
int mainO)
char a5][2o -"china","japan","england","india","franch",m1[2o],m2[20]
initi;
strcpy(m1,ao]):
strcpy(m2,a[o]);
for(i-1;i5;i+十)
if(strcmp(ai],m1)>o)
strcpy(m1,ai);
strcat(m2,ai-1);
puts(ml);
puts(m2);
, 21.
单招零距离·计算机专业综合测试卷·下册
4. 已定义一个含有30个元素的数组s,函数fav1的功能是按顺序分别赋予各元素从2开
始的偶数,函数fav2则按顺序每五个元素求一个平均值,并将该值存放在数组w中。请填空。
共includestdio.h>
共 define SIZE 30
void favl(int s])
i intk.I;
for(
(1)
;i<SIZE:i+十)
{si]-k;
k十-2;
)
)
void fav2(int s,int w)
( intsum.k.i:
sum-0:
for(k-0,i-0:i<SIzE;i+十)
(2)
_:
if(i+1)%5--0)
iwk]-sum5
(③)
1
int main()
(ints[SIZE,wSIZE/5,i
favl(s);
fav2(s,w);
for(i-0;i<S1ZE;i十十)
printf(“%d”,si);
printf("
”);
for(i-0;i<sIZE5;i+十)
printf(“%d”,wi);
5.随机产生20个[10,100]互不相同的整数,放在数组a中,再从键盘上输入一个x整数
用二分法查找是否存在该数,若存在则输出该数及其原始位置,其中b数组是用来记录原始数
组位置的。请填写合适的内容。
共include <stdio.h
#include<stdlib.h>
共include<time.h>
int main()
(intx,a2o],i,i,k,t.1,r,m,p,f;
int b[20]-(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
srand((unsigned)time(NULL));
randomizeO);
/*产生互不相同的随机数并输出*
for(i-0;i<20:i十+)
(ai]-rand()%91+10;
for(j-i-1;j>-0;j--)
for(i-0:i<20;i十十)
printf("%dn",ai);
.22.
第六章 数 组(A)
/*排序并输出*
for(i-1;i-19;i++)
rfor
if(aj]>aj十1])
k=aj];aj]=aj+1];aj+1]=k;t=bj ];bj]=b[j+1];bj+1]= ;
)
for(i-0;i<20;i十+)
printf(”%d,%dt",a[i],bi]+1);
/*二分法查找*
scanf(”%d",8.x);
1-0;r-19;f-0:
while(
m-(1十r)/2;
if(x--a[m])f-1;
,:
if(x>am])1-m+1;
if(xa[m])r-m;
if(f--1)
printf(”值为%d,是原数组中的第%d个.”,x,p十1)
else
printf("no found!");
二、技能测试题(第1题20分,第2、3题各30分,共80分)
1. 程序填空题:十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块
第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块
第八个小孩6块,第九个小孩14块,第十个小孩20块。然后所有的小孩同时将自已手中的糖
分一半给左边的小孩;糖块数为奇数的人可向老师要一块。问经过这样几次调整后大家手中
的糖的块数都一样?每人各有多少块糖?
共include<stdio.h>
int mainO)
int i,count-0,a[11]-(0,10,2,8,22,16,4,10,6,14,20);
/*关*****※关**SPACE**关*关关关关关关*/
while(
(1)
for(i-1;i<-10;i十十)
ai-1]-ai-1]/2十ai]/2;
a[10]-a[10]/2十a[o];
for(i-1;i<-10;i十十)
/*****关关关***SPACE**关*关关关**关*/
if(
(2)
)ai]十十;
for(i-1;i10;i+十)
/****)*关¥****SPACE**关*关****关*/
if(ai!一ai十1)
(③)
if(i一-10)
break;
else
a[0]-0;
count十十;
)
.23.
单招零距离·计算机专业综合测试卷·下册
printf("count=%d number=%dn",count,a[1]);
2. 程序改错题:根据整型形参n,计算某一数据项的值。
A1]=1,A2]=1(1+A[1]),A[3]-1/(1+A[2),..,An]=1/(1+An-1$
例如:若n-10,则应输出;a10-0.617977。
共include<stdio.h>
****关关*FOUND*关关**关***关/
int fun(int n)
float A-1:inti:
苦关关关关关关关*关FOUND关*关*关关关*关*
for(i-2;i<n;i十十)
关* *美 关关关*关FOUND****关*关* 关*
A一1.0(1十A):
returnA;
int main()
。
intn;
printf("
Please enter n:");
scanf("%d",&n);
printf("A%d=%fn",n,fun(n));
3. 程序设计题:编写函数fun(str,i.n),从字符串str中删除第i个字符开始的连续n个
字符(注意:str[0]代表字符串的第一个字符)。
tinclude"stdio.h"
int mainO)
(char str[81;
inti,n;
printf(“请输入字符串str的值:
”);
scanf("%s",str);
printf("你输入的字符串str是:%s
”,str);
printf("请输入删除位置i和待删字符个数n的值:n”);
scanf("%d%d",8.i,8.n);
while(i十n-1>strlen(str))
printf(”删除位置i和待删字符个数n的值错!请重新输入i和n的值n”);
scanf("%d%d”,&.i,&.n);
fun(str,i,n);
printf("删除后的字符串str是:%s
”,str);
y2jO);
void fun(char str ,int i,int n)
/*关关关关*英关关关Program关关关关关关关关关考!
/*考*关关***关*
End**********/
1
.24· {newnum=newnum∗10+sum1%10;
sum1/=10;
}
if(newnum==sum)
printf("newnum=%ld是回文数",newnum);
else
printf("newnum=%ld 不 是 回 文 数",newG
num);
第五章 循环结构(二)
一、理论测试题
1.5,30,91
2.sum1=-3,sum2=10
3.7,12,12
4.IloveBeiJing
OlympicGames!loveOlympicGames!
5.①num ②100 ③0 ④sum1
二、技能测试题
1.(1)z%j==0 (2)x
2.(1)i=left==1? left+1:left;
(2)break;
(3)if(j>k)printf("%d\t",i);
3.
intx,num,p,left,right,mid,newnum;
scanf("%d",&x);
if(x>=10)
{num=x;
p=1;
while(num>=10)
{num/=10;
p=p∗10;
}
left=x/p;right=x%10;
mid=x%p/10;
newnum=right∗p+mid∗10+left;
}
elsenewnum=x;
printf("x=%d,newnum=%d",x,newnum);
第六章 数 组(A)
一、理论测试题
1.1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
2.3 2 5
3.Japan
chinafranch
4.i=0,k=2
sum=sum+s[i]
k++,sum=0
5.if(a[j]==a[i])i--;
for(j=0;j<20-i;j++)
f==0&&l<=r
p=m
二、技能测试题
1.(1)1
(2)a[i]%2==1
(3)break
2.(1)floatfun(intn)
(2)for(i=2;i<=n;i++)
(3)A =1.0/(1+A);
3.while(str[i+n-1])
{str[i-1]=str[i+n-1];
i++;
}
str[i-1]='\0';
第六章 数 组(B)
一、理论测试题
1.1
2.abcd 4
size=7 comp=1
15 -12
3.Jiang sum=10
4.OneWorldOneDream !
5.i=9 s=15 k=16
6.(1)rand()%64+29
(2)i--或i--,break
(3)j<n+m-2-i
(4)a[j]<a[j+1]
二、技能测试题
1.(1)&&
(2)0或'\0'
(3)s[j]
3
总复习方案参考答案