程序设计基础c语言第四章数组教材答案科学出版社文档格式.docx

上传人:b****5 文档编号:19844387 上传时间:2023-01-10 格式:DOCX 页数:11 大小:17.71KB
下载 相关 举报
程序设计基础c语言第四章数组教材答案科学出版社文档格式.docx_第1页
第1页 / 共11页
程序设计基础c语言第四章数组教材答案科学出版社文档格式.docx_第2页
第2页 / 共11页
程序设计基础c语言第四章数组教材答案科学出版社文档格式.docx_第3页
第3页 / 共11页
程序设计基础c语言第四章数组教材答案科学出版社文档格式.docx_第4页
第4页 / 共11页
程序设计基础c语言第四章数组教材答案科学出版社文档格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

程序设计基础c语言第四章数组教材答案科学出版社文档格式.docx

《程序设计基础c语言第四章数组教材答案科学出版社文档格式.docx》由会员分享,可在线阅读,更多相关《程序设计基础c语言第四章数组教材答案科学出版社文档格式.docx(11页珍藏版)》请在冰豆网上搜索。

程序设计基础c语言第四章数组教材答案科学出版社文档格式.docx

i_data[7],&

i_data[8],&

i_data[9]);

for(m=1;

m<

=10/2;

m++)//有意写成10/2已解决任意一维数组的逆序问题,为什么此处用m=1;

=10/2,而不能m=0;

10/2

{i_temp=i_data[m-1];

//下面三条语句是典型的两数交换的方法

i_data[m-1]=i_data[10-m];

i_data[10-m]=i_temp;

}

for(m=0;

10;

m++)

{printf("

%d"

i_data[m]);

\n"

}

2.0编程求Fibonacci数列的前二十项。

FIBONACCI数列的定义F0=0,F1=1,Fn=Fn-1+Fn-2

intF[20];

intm,n,i_blanknum;

20;

{switch(m)

{case0:

F[0]=0;

break;

case1:

F[1]=1;

default:

F[m]=F[m-1]+F[m-2];

}

Fibonacci数列的前20项是:

F[m]);

//下面输出项,这是我加的效果

%d"

m+1);

//输出项的编号

//计算该项数据占几位

i_blanknum=1;

//每个数据间占一个空格

n=F[m];

do

{i_blanknum=i_blanknum+1;

n=n/10;

}while(n!

=0);

//减去该项编号数据占的位数

n=m+1;

{i_blanknum=i_blanknum-1;

//输出空格

while(i_blanknum>

0)

{printf("

"

i_blanknum--;

2.0在一个从小到大排列的数组中查找X,若x存在就将其测出,若不存在将其添加。

使修改后的数组仍然有序,并输出到屏幕上啊

#defineYes1//Yes说明x在数组中

#defineNo0//No说明x不在数组中

inti_data[10]={10,20,30,40,50,60,70,80,90};

intx,i,j;

intYN;

//记录x是否在数组中

intTotal=9;

//数组元素实际个数

请输入一个数:

x);

YN=No;

//假定不在数组中

//第1种情况:

进行x在数组中查找和删除操作,要考虑数组中有多个x的值

i=0;

while(i<

Total)

{if(x==i_data[i])

{YN=Yes;

for(j=i;

j<

Total-1;

j++)

{i_data[j]=i_data[j+1];

}

Total--;

else

{i++;

//第1中情况操作完成

if(YN==No)//说明第1种情况不存在,应进行第2种情况操作,即增加

{for(i=0;

i<

Total;

i++)

{if(x<

i_data[i])

{for(j=Total;

j>

i;

j--)

{i_data[j]=i_data[j-1];

}

i_data[i]=x;

Total++;

//下面输出

for(i=0;

i_data[i]);

4.0将一个3*4二维数组的行和列的元素互换,存放到4*3的二维数组中,并输出元素

#include"

stdio.h"

{inta[3][4],b[4][3];

inti,j;

\n输入数组a[3][4],输入一个数据请按Enter键\n"

3;

i++)

{for(j=0;

4;

{scanf("

a[i][j]);

}//输入完毕

//开始转换和输出[3][4]

\na[4][3]\n"

{b[j][i]=a[i][j];

printf("

%6d"

a[i][j]);

printf("

}//转换完毕

//开始输出

\nb[4][3]\n"

b[i][j]);

}//输出完毕

5.0

第五题利用循环,使得10*10的二维数组元素具有以下值,并把内容输出到屏幕数

1

2

3

4

5

6

7

8

9

ints[10][10];

intm,n;

m++)

{for(n=0;

n<

n++)

{s[m][n]=(m+n)%10;

%5d"

s[m][n]);

6.0输入一个字符串,判断它是否回文,所谓回文是值字符串字符串正序和逆序一样的,如abcdcba就是回文。

#include"

string.h>

charstr[101];

intstr_len,i,comparetimes;

intisSame;

//记录是否是回文字符串,其值=0,则不是,=0则是

//输入字符串,要控制不能100个字符,所以用getchar

请输入一个字符串(最多100个字符),按Enter结束输入\n"

for(i=0;

100;

{str[i]=getchar();

if(str[i]=='

\n'

break;

str[i]='

\0'

;

//将最后的回车符\n改成'

其目的是形成字符串数组,以便用字符串函数对字符串操作,方便!

//判断是否是回文字符串的算法是把第1个字符和最后1个字符比较,第2个字符和倒数第2个字符比较,如此,

//都相同则是回文字符串,只要有一对字符不同就不是

isSame=1;

//假定当前字符串是回文字符串

str_len=strlen(str);

comparetimes=str_len/2;

//只需比较一半即可,

comparetimes;

{if(str[i]!

=str[str_len-1-i])

{isSame=0;

//有一对字符不同,则不用检查剩余的

if(isSame==1)

该字符串是回文字符串!

else

该字符串不是回文字符串!

7.0统计一个字符串中的单词个数,字符串中二个空格之间的非空格字符可看做单词。

{chars[100],s1[100];

intwordnum=0;

//统计的单词个数

inti,j,str_len;

puts("

请输入一个字符串:

gets(s);

str_len=strlen(s);

j=0;

=str_len-1;

{

if(s[i]!

='

'

{s1[j]=s[i];

j++;

if((s[i]=='

||i==str_len-1)&

&

j>

0)//说明此时识别了一个单词

{wordnum++;

s1[j]='

第%d个单词:

%s\n"

wordnum,s1);

j=0;

共有%d个单词"

wordnum);

8.0将字符串s中所有长度为5的子字符串输出到屏幕上。

所谓子串是指在字符串中连续截取若干的字符串所组成的字符串,被截取的原始字符串称为母串。

{chars[100],s5[6];

请输入字符串:

共有%d个长度为5的字符串,具体如下:

str_len-4);

str_len-4;

5;

{s5[j]=s[i+j];

s5[j]='

puts(s5);

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

当前位置:首页 > 高等教育 > 管理学

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

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