第四次数组部分补充习题Word文档下载推荐.docx

上传人:b****4 文档编号:6151822 上传时间:2023-05-06 格式:DOCX 页数:21 大小:23.41KB
下载 相关 举报
第四次数组部分补充习题Word文档下载推荐.docx_第1页
第1页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第2页
第2页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第3页
第3页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第4页
第4页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第5页
第5页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第6页
第6页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第7页
第7页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第8页
第8页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第9页
第9页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第10页
第10页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第11页
第11页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第12页
第12页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第13页
第13页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第14页
第14页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第15页
第15页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第16页
第16页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第17页
第17页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第18页
第18页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第19页
第19页 / 共21页
第四次数组部分补充习题Word文档下载推荐.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

第四次数组部分补充习题Word文档下载推荐.docx

《第四次数组部分补充习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第四次数组部分补充习题Word文档下载推荐.docx(21页珍藏版)》请在冰点文库上搜索。

第四次数组部分补充习题Word文档下载推荐.docx

u<

average=sum/count;

这组数的平均值为:

average<

return0;

2.6编程输出下列图形,中间一行英文字母由输入得到。

A

BBB

CCCCC

DDDDDDD

CCCCC

BBB

A

还是不懂后面的

charin;

inti,j;

do

{

cout<

输入一个字母:

;

in;

if((in>

=97)&

&

(in<

=122))in-=32;

//小写改大写

}

while((in<

65)||(in>

90));

intline=in-'

A'

for(i=0;

i<

=line;

i++)

{//上三角

for(j=line-i;

j>

0;

j--)cout<

"

//前方空格

for(j=1;

j<

=2*i+1;

j++)cout<

'

'

char(i+'

);

for(i=line;

i>

i--)

{//下三角(少一行)

for(j=0;

=line-i;

=2*i-1;

char(i-1+'

return0;

}

2.5编程打印如下图形:

*

***

*****

*******

inti,j;

for(i=1;

5;

for(j=4-i;

j--)

cout<

for(j=1;

j++)

*"

4;

***\n"

2.12将100元换成用10元、5元和1元的组合,共有多少种组合方法。

inti,j,k,count=0;

for(i=0;

=10;

i++)//控制是十元的个数

for(j=0;

=20;

j++)//控制五元的个数

k=10*i+5*j;

if(k>

\t'

k<

count++;

//计数器

}

count<

2.11编程求1000之内的所有完全数。

所谓完全数指的是一个数恰好等于它的所有因子和。

例如6=1+2+3,就是一个完全数。

inti,j,sum_yz;

=1000;

i++)//找从1到1000的满足题意的数

sum_yz=0;

=i;

j++)//找其因子

if(i%j==0)

sum_yz=sum_yz+j;

if(i=sum_yz)

 

以下作业截止提交时间为:

2012年4月30日23:

00

一、没有全部完成第三章编程题的或程序有错的,首先完成第三章的程序作业。

第四章数组部分补充习题

二程序设计

1.若有一字符串正反读都一样(如level、madam),称之为回文。

请编写一程序验证输入的字符串是否为回文。

charhui[10];

请输入您要验证的数组:

for(inti=0;

hui[i];

if(hui[i]=='

z'

{

n=i-1;

break;

您所输入的字符串为:

=(n+1)/2;

intj=n-i;

if(hui[i]==hui[j])

continue;

//如果对应相等则继续进行判断

else//else后一定不能跟着表达式

您所输入的不是回文"

break;

if(i>

=(n+1)/2)//从循环中跳出来有两种可能,一种是不是回文,一种是i>

(n+1)/2

您所输入的是回文"

结果:

能正常运行并得出想要的结果。

2.将一个数组中的值按由小到大重新存放。

例如,原来顺序8,3,5,4,1。

要求改为1,3,4,5,8。

编程实现之。

constintM=100;

intnum[M];

intn;

输入一组数,并且以0结束,这组数为:

for(intu=0;

M;

u++)

num[u];

if(num[u]==0)

n=u-1;

for(inti=0;

for(intj=n;

i;

if(num[j-1]>

num[j])

{

intx=num[j-1];

num[j-1]=num[j];

num[j]=x;

}

结果是:

for(intk=0;

=n;

k++)

num[k];

能正常运行,并得到想要的结果。

3.设有下列矩阵:

A=

请编程序找出符合下列特征的所有元素,并打印出他们在矩阵中的位置:

(1)它们既是所在行的最小值,又是所在列的最小值;

#include<

usingnamespacestd;

intmain()

intmin,tmp,MIN;

intP=0,q=0;

inta[4][4]={

1,2,3,4,

5,6,7,8,

9,10,11,12,

13,14,15,16};

for(intj=0;

j++)//找到一行中的最小值,确定列数

min=a[i][j];

for(intk=j;

if(a[i][k]>

min)

P++;

if(P!

=3-j)

continue;

else

for(intn=0;

n<

n++)

{

MIN=a[n][j];

for(intu=n;

u++)//在该列中跟其他进行比较

{

if(a[u][j]>

MIN)

q++;

}

if(q!

=3-n)

continue;

else

if(i!

=n)

continue;

else

cout<

第"

i+1<

行第"

j+1<

列"

a[i][j]<

}

}

能正常运行,并得出想要的结果。

自己编的程序不对,看了同学的。

(2)它们既是所在行的最大值,又是所在列的最大值;

#include<

intmax,tmp,MIN;

intp=0,q=0;

inta[4][4]=

13,14,15,16

};

for(intj=0;

max=a[i][j];

if(a[i][k]<

max)

p++;

if(p!

max1=a[n][j];

if(a[u][j]<

cout<

}

(3)它们是所在行的最小值,却是所在列的最大值;

能运行,但没有显示结果。

(4)它们是所在行的最大值,却是所在列的最小值。

能正常运行并的出想要的结果。

4.编写程序,将上题中的矩阵用二维数组存储矩阵元素,从键盘输入数据,将矩阵转置后按行输出。

intA[4][4];

intx;

请输入您要转置的4*4阶行列式:

for(intj=0;

A[i][j];

您输入的4*4阶行列式为:

cout<

A[i][j]<

转置后的行列式为:

for(intv=i;

v++)

x=A[i][v];

A[i][v]=A[v][i];

//如果有多条语句,一定要用{}括起来

A[v][i]=x;

j++)//为什么前面已经定义了j后面还要在定义一次?

//一定要注意放的位置,不然无法输出4*4阶行列式

5.编写程序,将两个字符串连接起来,要求不使用strcat()函数。

charA[20];

输入一个字符串A并以z为结束"

20;

cin>

A[i];

if(A[i]=='

n=i;

charB[20];

intm;

输入一个字符串B并以z为结束"

for(intj=n;

40;

B[j];

if(B[j]=='

m=j;

//这里是m=j-1

charC[100];

for(intv=0;

m;

v++)//这里v<

m改为v<

=m,为什么运行结果少了最后一个字符

if(v<

n)

C[v]=A[v];

else

C[v]=B[v];

连接后的字符串C为:

for(intx=0;

x<

x++)

C[x];

能正常运行并得到想要的结果。

6.输入三个字符串,请使用字符串比较函数strcmp()将这三个字符串排序后按从小到大的顺序输出。

cstring>

intmain()

chara[10],b[10],c[10];

chard[10],e[10],f[10];

请分别输入三组字符串"

a;

b;

c;

if((strcmp(a,b)>

0)&

(strcmp(a,c)>

0))//第一种情况如果a>

b,a>

c

if(strcmp(b,c)>

0)//比较b,c的大小,如果b>

for(inti=0;

10;

d[i]=a[i],e[i]=b[i],f[i]=c[i];

//a>

b>

c分别赋值给d,e,f.

else

i++)//a>

c>

b

d[i]=a[i],e[i]=c[i],f[i]=b[i];

if((strcmp(b,a)>

(strcmp(b,c)>

0))//如果b>

a,b>

c.

if(strcmp(a,c)>

0)//b>

a>

for(intj=0;

d[j]=b[j],e[j]=a[j],f[j]=c[j];

else//b>

a分别赋值给d,e,f.

d[j]=b[j],e[j]=c[j],f[j]=a[j];

if(strcmp(a,b)>

0)

for(intk=0;

d[k]=c[k],e[k]=a[k],f[k]=b[k];

else

d[k]=c[k],e[k]=b[k],f[k]=a[k];

排序后的字符串排列为:

f<

e<

d<

结果:

能正常运行,得出想要的结果,不知道理解的对不对。

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2