- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 数组
例题1:输入5个学生的数学成绩,求最低分
【分析】:
1 输入五位同学数学成绩
2 假定第0位同学成绩最低,赋予min (编号从零开始)
3 依次比较min与第1、2、3、4同学的成绩,发现更小的就赋予min
4 输出五位同学成绩
5 输出最低分min
【源码】
#include stdio.h
#include stdio.h
main()
{
int i,min;
int math[5];
printf(请输入5位同学的数学成绩:\n);
for(i=0;i5;i++)
{
scanf(%d,math[i]);
}
min=math[0];
for(i=1;i5;i++)
{
if(minmath[i])
{
min=math[i];
}
}
printf(5位同学的数学成绩为:\n);
for(i=0;i5;i++)
{
printf(%d\n,math[i]);
}
printf(最低分为:%d\n,min);
}
练习:输入10个学生的英语成绩,求最高分,最低分,平均分。
例题二、将矩阵a的右上三角元素置0
例如: 右上三角1 0 0 05 6 0 09 3 6 0
1 0 0 0
5 6 0 0
9 3 6 0
2 4 3 1
1 2 3 4
5 6 7 8
9 3 6 7
2 4 3 1
【分析】
i\j
0
1
2
3
0
1
2
3
4
1
5
6
7
8
2
9
3
6
7
3
2
4
3
1
我们发现:右上角元素a[i][j],就是ji的元素
【思路】依次查看每个元素下标,如果ji,那么将元素置0(依次查看每个元素,用双重循环)
【源码】
#includestdio.h
#includestdio.h
main()
{
int i,j;
int a[4][4]={1,2,3,4,5,6,7,8,9,3,6,7,2,4,3,1};
for(i=0;i4;i++)
{
for(j=0;j4;j++)
{
if(ji) /*判断是否是右上三角*/
{a[i][j]=0; } /*置0*/
}
}
for(i=0;i4;i++)
{
for(j=0;j4;j++)
printf(%4d,a[i][j]); /*输出宽度为4,不够补空格*/
printf(\n);
}
}
练习:求出数组周边元素的平均值。例如,若a 数组中的值为:
0 1 2 7 9
1 9 7 4 5
2 3 8 3 1
4 5 6 8 2
5 9 1 4 1
输出结果应为:aver=3.375
注意:周边元素是那些元素? 结果aver是float型,数组a是什么类型?
例题3:输入一行英文,如I Miss You!,要求将大写字母换小写,小写字母换大写
【分析】
在本题中,一行英文里有三种字符:大写字母、小写字母、其他(空格,标点符号),所以我们用if-elseif-else结构,而不是if-else结构。但又因为else里面没有做任何处理,所以只剩下了if-elseif。
我们翻开课本最后一页ASCII表,发现大写字符的ASCII值比小写字母小了32,故有:
’a’-32=’A’ 、 ‘A’+32=’a’。既:小写字母-32=大写字母
输入一行英文,我们有三种方式,
1、scanf(“%c”,ch[0])
2、scanf(“%s”,ch)
3、gets(ch)
在这里我们选用第三种,原因参考附录
【源码】
#include stdio.h
#include stdio.h
#include string.h
main()
{
char ch[100]; /*安排足够大的空间存字符串,只能多不能少*/
int i,len;
printf(请输入一行英文:\n);
gets(ch);
len=strlen(ch); /*取字符串实际长度*/
for(i=0;ilen;i++)
{
if(ch[i]=ach[i]=z) /*判断字母是不是小写*/
{
ch[i]=ch[i]-32; /*小写转大写,减去32即可*/
}
else if(ch[i]=Ach[i]=Z) /*判
文档评论(0)