数组编程练习带答案Word格式文档下载.docx

上传人:b****7 文档编号:22521922 上传时间:2023-02-04 格式:DOCX 页数:34 大小:18.17KB
下载 相关 举报
数组编程练习带答案Word格式文档下载.docx_第1页
第1页 / 共34页
数组编程练习带答案Word格式文档下载.docx_第2页
第2页 / 共34页
数组编程练习带答案Word格式文档下载.docx_第3页
第3页 / 共34页
数组编程练习带答案Word格式文档下载.docx_第4页
第4页 / 共34页
数组编程练习带答案Word格式文档下载.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

数组编程练习带答案Word格式文档下载.docx

《数组编程练习带答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数组编程练习带答案Word格式文档下载.docx(34页珍藏版)》请在冰豆网上搜索。

数组编程练习带答案Word格式文档下载.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 起诉状

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1