第5章数组 习题答案Word下载.docx
- 文档编号:17477737
- 上传时间:2022-12-06
- 格式:DOCX
- 页数:17
- 大小:17.18KB
第5章数组 习题答案Word下载.docx
《第5章数组 习题答案Word下载.docx》由会员分享,可在线阅读,更多相关《第5章数组 习题答案Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
a);
switch(a)
case1:
num);
break;
、
case0:
while(0!
=num)
i=i*10+num%10;
num=num/10;
i);
default:
请输入0和1!
!
\n"
\
3/*对于一个4X4矩阵逆时针旋转90度*/
inta[4][4],i,j,b[4][4];
for(i=0;
i<
4;
i++)
<
for(j=0;
j<
j++)
a[i][j]);
b[3-j][i]=a[i][j];
逆时针旋转90度后:
,
%d"
b[i][j]);
4:
/*将一个数组中的数据奇数放到前面,偶数放到后面。
inta[9],b[9],i,j=0,m=0;
9;
a[i]);
if(a[i]%2!
=0)
b[j]=a[i];
¥
j++;
else
b[8-m]=a[i];
m++;
b[i]);
#
5:
/*输入一个4X4的矩阵,求四个边上元素的和。
inti,j,a[4][4],sum;
输入一个4阶方阵:
for(i=0;
for(j=0;
]
sum=a[0][0]+a[0][3]+a[3][0]+a[3][3];
四个边上元素的和为%d\n"
sum);
6:
/*输入9个10以内的自然数,将它们组成两个整数,求如何组合得到两个数的成绩最大或最小。
^
intj,k;
inti;
intt;
inta=0,b=0;
intflag=1;
intnum[9];
intmax,max_a,max_b;
intmin,min_a,min_b;
输入9个10以内的自然数:
num[j]);
8;
for(k=0;
k<
8-j;
k++)
if(num[k]>
num[k+1])
t=num[k+1];
num[k+1]=num[k];
num[k]=t;
for(i=1;
511;
;
for(j=8;
j>
=0;
j--)
if((i&
(int)pow,j))==0)
a=a*10+num[j];
b=b*10+num[j];
if(flag)
max=a*b;
max_a=a;
max_b=b;
flag=0;
if(max<
a*b)
a=0;
b=0;
flag=1;
if(num[k]<
《
~
if(flag)
min=a*b;
min_a=a;
min_b=b;
if(min>
最小的数为%dx%d=%d\n"
min_a,min_b,min);
最大的数为%dx%d=%d\n"
max_a,max_b,max);
|
7:
/*输入一个数组,输出它的区间范围,例如输入1,2,3,4,5,6,7,8,20,21,22,23,输出
1-8,20-23。
#defineM5
inta[M],i,j,t,m,k;
M;
/*把数组从小到大排列*/
M-1;
M-1-i;
if(a[j]>
a[j+1])
t=a[j+1];
)
a[j+1]=a[j];
a[j]=t;
j=0;
while(a[j]+1==a[j+1])
if(j-i!
%d-%d\n"
a[i],a[j]);
i=j;
if(j-i==0)
—
%d\n"
a[i]);
8:
/*输入一个区间范围,输出数组,例如输入1-8,20-23,输出1,2,3,4,5,6,7,8,20,21,22,23。
#include<
.
inta,c;
charb,d;
输入区间以'
.'
结束以'
'
分隔,例如1-8,22-30:
do
%d%c%d%c"
&
a,&
b,&
c,&
d);
for(i=a;
i<
=c;
i++)
}
while(d!
='
10:
/*输入一篇文章,该文章小于1000字符,统计单词的个数,单词是连续的大小写字母组成*/
*
chartext[1000];
intcount=0,i=0;
输入一段文章:
gets(text);
while(text[i]!
if((text[i]>
='
a'
&
text[i]<
z'
)||
(text[i]>
A'
Z'
))
i++;
continue;
count++;
printf("
有%d个单词"
count+1)
11:
/*输入一片文章,该文章小于1000字符,对文中内容进行加密,加密方法是A->
Z,B->
Z…Z->
A,a->
z…z->
a。
chari,sum=0,text[1000];
请输入一段文字:
text[i]!
`
if(text[i]>
=65&
=90)
text[i]=155-text[i];
=97&
=122)
text[i]=219-text[i];
puts(text);
12:
/*编写一个程序,判断输入的数字是否在指定范围内,范围也由用户输入,例如
“100-100000,220000,250000,300000-600000”。
inta,b,c;
请输入:
下限-上限,需要判断的数\n"
%d-%d,%d"
a,&
b,&
c);
if(c<
=b&
c>
=a)
%d在范围内"
c);
%d不在范围内"
13:
/*编写一个程序,输入一篇文章,该文章小于1000字符,从中将指定字符串换成另外一个。
chari,a,b,text[1000];
请输入需要被替换的字符-替换后的字符\n"
%c-%c"
b);
请输入一段文字\n"
getchar();
if(text[i]=='
text[i]='
b'
14:
/*读入一个字符串,判断它是否是回文,所谓回文即正序和逆序内容相同的字符串。
chari,b,a[1000];
intsum=0;
输入一个字符串\n"
gets(a);
b=strlen(a);
if(b%2==0)
(b/2);
if(a[i]==a[b-1-i])
sum++;
if(sum==(b/2))
·
是回文"
不是回文"
((b-1)/2);
》
if(sum==((b-1)/2))
15:
/*编写一个程序,输入一篇文章,该文章小于1000字符,从中找出出现频率最高的单词。
#include"
intcheck(char*p)
if((*p>
*p<
)||(*p>
))
return1;
return0;
intwordcount(char*text)
char*p,*q;
intcount=0;
p=text;
q=p+1;
while(*q)
{
if(check(p)&
!
(check(q)))
/
p++;
q++;
returncount;
chartext[1000],*word[1000],*p,*q,*first;
inti=0,j=1,t=0,sum=0,a[1000],max=0,wsum;
gets_s(text);
//提醒正确输入格式
while(text[i+1])
if(check(&
text[i]))
句子结尾漏了标点符号\n"
exit
(1);
i=0;
//将大写字母转换为小写
while(text[i])
if(text[i]>
text[i]<
text[i]+=32;
/*sum来保存单词数*/
sum=wordcount(text);
/*把每个单词以字符串形式保存到*word中*/
first=text;
*q=0;
word[i]=first;
if(!
(check(p))&
check(q))
first=q;
/*记各个单词出现次数存在a中*/
for(i=0;
sum;
a[i]=0;
for(j=0;
j++)
if(strcmp(word[i],word[j])==0)
a[i]=a[i]+1;
for(j=i;
if(i!
=j&
strcmp(word[i],word[j])==0)
a[j]=0;
if(a[max]<
a[i])
max=i;
出现最多次的单词:
%s"
word[max]);
if(a[max]==a[i]&
i!
=max)
word[i]);
出现了%d次\n"
a[max]);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章数组 习题答案 数组 习题 答案