- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计基础-c语言-第四章数组-教材答案-科学出版社精选
程序设计基础-c语言-
第四章数组-教材习题及其答案
编程将一个一维数组的值按逆序重新存放
#includestdio.h
void main()
{
int i_data[10];
int m,i_temp;
printf(给定10个数,用空格分隔:);
scanf(%d %d %d %d %d %d %d %d %d %d,i_data[0],i_data[1],i_data[2],i_data[3],i_data[4],i_data[5],i_data[6],i_data[7],i_data[8],i_data[9]);
for(m=1;m=10/2;m++) //有意写成10/2 已解决任意一维数组的逆序问题,为什么此处用m=1;m=10/2,而不能m=0;m10/2
{ i_temp=i_data[m-1]; //下面三条语句是典型的两数交换的方法
i_data[m-1]=i_data[10-m];
i_data[10-m]=i_temp;
}
for(m=0;m10;m++)
{ printf(%d ,i_data[m]);
}
printf(\n);
}
2.0 编程求Fibonacci数列的前二十项。FIBONACCI数列的定义 F0=0,F1=1,Fn=Fn-1+Fn-2
#includestdio.h
void main()
{
int F[20];
int m,n,i_blanknum;
for(m=0;m20;m++)
{ switch(m)
{ case 0:F[0]=0;
break;
case 1:F[1]=1;
break;
default: F[m]=F[m-1]+F[m-2];
}
}
printf(Fibonacci数列的前20项是:\n);
for(m=0;m20;m++)
{ printf(%d ,F[m]);
}
printf(\n);
//下面输出项,这是我加的效果
for(m=0;m20;m++)
{ printf(%d,m+1); //输出项的编号
//计算该项数据占几位
i_blanknum=1;//每个数据间占一个空格
n=F[m];
do
{ i_blanknum=i_blanknum+1;
n=n/10;
}while(n!=0);
//减去该项编号数据占的位数
n=m+1;
do
{ i_blanknum=i_blanknum-1;
n=n/10;
}while(n!=0);
//输出空格
while(i_blanknum0)
{ printf( );
i_blanknum--;
}
}
printf(\n);
}
在一个从小到大排列的数组中查找X,若x存在就将其测出,若不存在将其添加。使修改后的数组仍然有序,并输出到屏幕上啊
#includestdio.h
#define Yes 1 //Yes说明x在数组中
#define No 0 //No说明x不在数组中
void main()
{
int i_data[10]={10,20,30,40,50,60,70,80,90};
int x,i,j;
int YN;//记录x是否在数组中
int Total=9;//数组元素实际个数
printf(请输入一个数:);
scanf(%d,x);
YN=No;//假定不在数组中
//第1种情况:进行x在数组中查找和删除操作,要考虑数组中有多个x的值
i=0;
while(iTotal)
{ if(x==i_data[i])
{ YN=Yes;
for(j=i;jTotal-1;j++)
{ i_data[j]=i_data[j+1];
}
Total--;
}
else
{ i++;
}
}
//第1中情况操作完成
if(YN==No) //说明第1种情况不存在,应进行第2种情况操作,即增加
{ for(i=0;iTotal;i++)
{ if(xi_data[i])
{ for(j=Total;ji;j--)
{ i_data[j]=i_data[j-1];
}
i_data[i]=x;
Total++;
break;
}
}
}
//下面输出
for(i=0;iTotal;i++)
{ printf(%d ,i_data[i]);
}
printf(\n);
}
文档评论(0)