数组编程练习带答案Word格式文档下载.docx
- 文档编号:22521922
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:34
- 大小:18.17KB
数组编程练习带答案Word格式文档下载.docx
《数组编程练习带答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数组编程练习带答案Word格式文档下载.docx(34页珍藏版)》请在冰豆网上搜索。
floatave;
max=a[0];
min=a[0];
sum=0;
sum=sum+a[i];
if(a[i]>
max)
{
max=a[i];
}
if(a[i]<
min)
min=a[i];
ave=(float)sum/N;
max=%d,min=%d,sum=%d,ave=%.2f\n"
max,min,sum,ave);
3、产生一个由10个元素组成的一维数组并输出,数组元素由随机数(0-99)构成。
按照升序排列并输出。
(冒泡法)
inta[N],i,j,t;
for(i=1;
for(j=0;
j<
N-i;
j++)
if(a[j]>
a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
thesortedarraya:
另解:
(选择法)
inta[N],i,j,min_i,t;
N-1;
min_i=i;
for(j=i+1;
if(a[j]<
a[min_i])
min_i=j;
t=a[i];
a[i]=a[min_i];
a[min_i]=t;
}
10;
(比较法)
for(j=i;
a[i-1])
t=a[i-1];
a[i-1]=a[j];
a[j]=t;
}
4、产生一个由10个元素组成的一维数组并输出,数组元素由随机数(0-99)构成。
编程将逆序数组输出。
inta[N],b[N],i,t;
b[i]=a[N-1-i];
thenewarray:
b[i]);
inta[N],i,t;
N/2;
a[i]=a[N-1-i];
a[N-1-i]=t;
5、产生一个由10个元素组成的一维数组并输出,数组元素由随机数(0-99)构成。
再输入一个数,按照原来的规律将其插入并输出。
inta[N+1],i,j,t,n;
pleaseinputn:
scanf("
%d"
&
n);
if(n>
a[N-1])
a[N]=n;
else
for(i=0;
if(a[i]>
n)
for(j=N;
j>
i;
j--)
{
a[j]=a[j-1];
}
a[j]=n;
break;
thesecondsortedarraya:
N+1;
6、用数组输出Fibonacci数列的前40项
#defineN40
inti;
intf[N]={1,1};
for(i=2;
f[i]=f[i-2]+f[i-1];
%12d"
f[i]);
if((i+1)%5==0)
printf("
7、用筛选法求100以内的素数
#defineN100
inta[N+1],i,j,n=0;
=N;
a[i]=i;
a[1]=0;
for(j=2;
=(int)sqrt(i);
if(a[i]%j==0)
a[i]=0;
{
if(a[i]!
=0)
{
n++;
if(n%10==0)
printf("
8、产生一个由15个元素组成的一维数组并输出,数组元素由随机数(0-99)构成。
再输入一个数,要求找出该数是数组中的第几个元素,如果不在数组中,输出找不到。
#defineN15
inta[N],i,j,t,n;
pleaseinputntolookfor:
if(n<
a[0]||n>
notfound.\n"
if(a[i]==n)
hasfound,itspositionis%d.\n"
i);
if(i==N)
inta[N],i,j,t,n,low=0,high=N-1,mid,flag=1;
do
mid=(low+high)/2;
if(a[mid]==n)
mid);
flag=0;
elseif(a[mid]>
high=mid-1;
else
low=mid+1;
}while(flag&
&
high>
=low);
if(low>
high)
9、将一个二维数组(3行4列)的行和列互换(转置),存到另一个二维数组(4行3列)中并输出。
#defineM3
#defineN4
inta[M][N],b[N][M],i,j;
M;
a[i][j]=rand()%100;
a[i][j]);
b[j][i]=a[i][j];
arrayb:
b[i][j]);
10、编程输出杨辉三角(要求输出10行)
inta[N][N],i,j;
a[i][0]=1;
a[i][i]=1;
for(j=1;
a[i][j]=a[i-1][j-1]+a[i-1][j];
yanghuitriangle:
=i;
%6d"
11、编程输入5阶魔方阵。
#defineN5
inti,j,k,a[N][N]={0};
i=0;
j=N/2;
a[i][j]=1;
for(k=2;
k<
=N*N;
k++)
i=i-1;
j=j+1;
if(i==-1)
if(j==N)
i=i+2;
j=j-1;
i=N-1;
if(j==N)
j=0;
if(a[i][j]==0)
a[i][j]=k;
else
i=i+2;
j=j-1;
%dmagicsquare:
N);
12、找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列最小。
可能没有鞍点。
#defineM4
inti,j,k,max,maxj,flag;
inta[M][N]={{1,2,3,4,5,},{2,4,6,8,10},{3,6,9,12,15},{4,8,12,16,20}};
max=a[i][0];
maxj=0;
if(a[i][j]>
max=a[i][j];
maxj=j;
flag=1;
for(k=0;
if(a[k][maxj]<
if(flag)
saddlepointisa[%d][%d]=%d\n"
i,maxj,max);
break;
if(!
flag)
nosaddlepoint.\n"
13、输入一行字符,统计大写字母、小写字母、数字、空格以及其他字符个数。
inti,upp,low,dig,spa,oth;
charc[N];
upp=0;
low=0;
dig=0;
spa=0;
oth=0;
pleaseinputalinecharacters:
gets(c);
c[i]!
='
\0'
;
if(c[i]>
A'
&
c[i]<
Z'
)
upp++;
elseif(c[i]>
a'
z'
low++;
0'
9'
dig++;
elseif(c[i]=='
'
spa++;
oth++;
uppercase:
%2d\n"
upp);
lowercase:
low);
digit:
dig);
space:
spa);
other:
oth);
14、有一行电文,按照下列规律译成密码:
AZaz
BYby
CXcx
……
非字母不变。
charc1[N],c2[N];
pleaseinputamessage:
gets(c1);
c1[i]!
if(c1[i]>
c1[i]<
c2[i]=155-c1[i];
elseif(c1[i]>
c2[i]=219-c1[i];
c2[i]=c1[i];
c2[i]='
ciphercode:
\n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组 编程 练习 答案