《全国计算机等级考试二级C语言考前复习资料重点资格考试计算机等级考试_资格考试-计算机等级考试.pdf》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言考前复习资料重点资格考试计算机等级考试_资格考试-计算机等级考试.pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学习必备 欢迎下载 第六章 数组 例题 1:输入 5个学生的数学成绩,求最低分【分析】:1 输入五位同学数学成绩 2 假定第 0 位同学成绩最低,赋予 min(编号从零开始)3 依次比较 min 与第 1、2、3、4 同学的成绩,发现更小的就赋予 min 4 输出五位同学成绩 5 输出最低分 min 【源码】练习:输入 10个学生的英语成绩,求最高分,最低分,平均分。#include stdio.h main()int i,min;int math5;printf(请输入 5位同学的数学成绩:n);for(i=0;i5;i+)scanf(%d,&mathi);min=math0;for(i=1
2、;imathi)min=mathi;printf(5 位同学的数学成绩为:n);for(i=0;ii 的元素 【思路】依次查看每个元素下标,如果 ji,那么将元素置 0(依次查看每个元素,用双重循环)【源码】#include main()int i,j;int a44=1,2,3,4,5,6,7,8,9,3,6,7,2,4,3,1;for(i=0;i4;i+)for(j=0;ji)/*判断是否是右上三角*/aij=0;/*置 0*/for(i=0;i4;i+)for(j=0;j4;j+)printf(%4d,aij);/*输出宽度为 4,不够补空格*/printf(n);1 2 3 4 5 6
3、 7 8 9 3 6 7 2 4 3 1 1 0 0 0 5 6 0 0 9 3 6 0 2 4 3 1 最低赋予编号从零开始依次比较与第同学的成绩发现更小的就赋予输出五位同学成绩输出最低分源码请输入位同学的数学成绩位同学的数学成绩为最低分为练习输入个学生的英语成绩求最高分最低分平均分学习必备欢迎下载例题二将元素置依次查看每个元素用双重循环源码判断是否是右上三角置输出宽度为不够补空格学习必备欢迎下载练习求出数组周边元素的平均值例如若数组中的值为输出结果应为注意周边元素是那些元素结果是型数组是什么类型例题输空格标点符号所以我们用结构而不是结构但又因为里面没有做任何处理所以只剩下了我们翻开课本最后
4、一页表发现大写字符的值比小写字母小了故有既小写字母大写字母输入一行英文我们有三种方式在这里我们选用第三种原因参考学习必备 欢迎下载 练习:求出数组周边元素的平均值。例如,若 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-e
5、lseif-else结构,而不是 if-else结构。但又因为 else 里面没有做任何处理,所以只剩下了 if-elseif。我们翻开课本最后一页 ASCII 表,发现大写字符的 ASCII 值比小写字母小了 32,故有:a-32=A 、A+32=a。既:小写字母-32=大写字母 输入一行英文,我们有三种方式,1、scanf(“%c”,&ch0)2、scanf(“%s”,ch)3、gets(ch)在这里我们选用第三种,原因参考附录 最低赋予编号从零开始依次比较与第同学的成绩发现更小的就赋予输出五位同学成绩输出最低分源码请输入位同学的数学成绩位同学的数学成绩为最低分为练习输入个学生的英语成绩求
6、最高分最低分平均分学习必备欢迎下载例题二将元素置依次查看每个元素用双重循环源码判断是否是右上三角置输出宽度为不够补空格学习必备欢迎下载练习求出数组周边元素的平均值例如若数组中的值为输出结果应为注意周边元素是那些元素结果是型数组是什么类型例题输空格标点符号所以我们用结构而不是结构但又因为里面没有做任何处理所以只剩下了我们翻开课本最后一页表发现大写字符的值比小写字母小了故有既小写字母大写字母输入一行英文我们有三种方式在这里我们选用第三种原因参考学习必备 欢迎下载 【源码】练习:有一行电文,已经按下面规律译成密码:A-Z a-z B-Y b-y C-X c-x 既第一个字母变成第 26个字母,第 i
7、 个字母变成第(26-i+1)个字母。非字母不变。要求编程序将密码译成原文,并输出密码和原文。如有密码:svool,nzirgrnv!#include#include main()char ch100;/*安排足够大的空间存字符串,只能多不能少*/int i,len;printf(请输入一行英文:n);gets(ch);len=strlen(ch);/*取字符串实际长度*/for(i=0;i=a&chi=A&chi=Z)/*判断字母是不是大写*/chi=chi+32;/*大写转小写,加上 32即可*/printf(转换后为:n);puts(ch);最低赋予编号从零开始依次比较与第同学的成绩发现
8、更小的就赋予输出五位同学成绩输出最低分源码请输入位同学的数学成绩位同学的数学成绩为最低分为练习输入个学生的英语成绩求最高分最低分平均分学习必备欢迎下载例题二将元素置依次查看每个元素用双重循环源码判断是否是右上三角置输出宽度为不够补空格学习必备欢迎下载练习求出数组周边元素的平均值例如若数组中的值为输出结果应为注意周边元素是那些元素结果是型数组是什么类型例题输空格标点符号所以我们用结构而不是结构但又因为里面没有做任何处理所以只剩下了我们翻开课本最后一页表发现大写字符的值比小写字母小了故有既小写字母大写字母输入一行英文我们有三种方式在这里我们选用第三种原因参考学习必备 欢迎下载 例题 4:冒泡排序【
9、冒泡排序】依次比较相邻的两个数,将小数放在前面,大数放在后面。相当于气泡往上升,质量轻的上浮,重的下沉,故称之为冒泡排序。即在第一趟:首先比较第 1 个和第 2 个数,将小数放前,大数放后。然后比较第 2 个数和第 3 个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较,将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。原始:9 8 5 4 2 0
10、 第一趟排序后:8 5 4 2 0 9 第二趟排序后:5 4 2 0 8 9 第三趟排序后:4 2 0 5 8 9 第四趟排序后:2 0 4 5 8 9 第五趟排序后:0 2 4 5 8 9 完成 0 2 4 5 8 9 我们发现,对于 6个数:9 8 5 4 2 0,总共进行了 5趟排序,第 1趟排序进行了 5次两两比较,第 i 趟排序进行了 6-i次两两比较 最低赋予编号从零开始依次比较与第同学的成绩发现更小的就赋予输出五位同学成绩输出最低分源码请输入位同学的数学成绩位同学的数学成绩为最低分为练习输入个学生的英语成绩求最高分最低分平均分学习必备欢迎下载例题二将元素置依次查看每个元素用双重循
11、环源码判断是否是右上三角置输出宽度为不够补空格学习必备欢迎下载练习求出数组周边元素的平均值例如若数组中的值为输出结果应为注意周边元素是那些元素结果是型数组是什么类型例题输空格标点符号所以我们用结构而不是结构但又因为里面没有做任何处理所以只剩下了我们翻开课本最后一页表发现大写字符的值比小写字母小了故有既小写字母大写字母输入一行英文我们有三种方式在这里我们选用第三种原因参考学习必备 欢迎下载 练习:编写程序,用冒泡法对字符串 maritime 排序(ASCII 码小的在前面)例题 5:选择排序【选择排序】每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最前,直到全部
12、待排序的数据元素排完。【示例】:初始 49 38 65 97 76 13 27 49 第一趟排序后 13 38 65 97 76 49 27 49 第二趟排序后 13 27 65 97 76 49 38 49 第三趟排序后 13 27 38 97 76 49 65 49 第四趟排序后 13 27 38 49 76 97 65 49 第五趟排序后 13 27 38 49 49 97 65 76 第六趟排序后 13 27 38 49 49 65 97 76 第七趟排序后 13 27 38 49 49 65 76 97#include stdio.h main()int i,j,k;int a6=9
13、,8,5,4,2,0;for(i=1;i6;i+)for(j=0;jaj+1)k=aj;aj=aj+1;aj+1=k;for(i=0;i6;i+)printf(%dn,ai);最低赋予编号从零开始依次比较与第同学的成绩发现更小的就赋予输出五位同学成绩输出最低分源码请输入位同学的数学成绩位同学的数学成绩为最低分为练习输入个学生的英语成绩求最高分最低分平均分学习必备欢迎下载例题二将元素置依次查看每个元素用双重循环源码判断是否是右上三角置输出宽度为不够补空格学习必备欢迎下载练习求出数组周边元素的平均值例如若数组中的值为输出结果应为注意周边元素是那些元素结果是型数组是什么类型例题输空格标点符号所以我们
14、用结构而不是结构但又因为里面没有做任何处理所以只剩下了我们翻开课本最后一页表发现大写字符的值比小写字母小了故有既小写字母大写字母输入一行英文我们有三种方式在这里我们选用第三种原因参考学习必备 欢迎下载 最后排序结果 13 27 38 49 49 65 76 97 第一步:在49 38 65 97 76 13 27 49 找到 min 第二步:找到 min 后,将 min 与第一个位置的元素相交换 交换 13 与 49,即交换 at与 a0,此时 t=5。得到:13 38 65 97 76 49 27 49 回顾范例 1#include stdio.h main()int i,min;int a
15、8=49,38,65,97,76,13,27,49;min=a0;for(i=1;iai)min=ai;printf(%dn,min);使用另一种方法:记录最大值的下标 t,#include stdio.h main()int i,t;int a8=49,38,65,97,76,13,27,49;t=0;/*用 at代表 max*/for(i=1;iai)t=i;printf(%dn,at);printf(%dn,t);#include stdio.h main()int i,t,temp;int a8=49,38,65,97,76,13,27,49;t=0;for(i=1;iai)t=i;i
16、f(t!=0)/*如果原本 ao就最小,那么就不用换*/temp=at;at=a0;a0=temp;printf(%dn,a0);最低赋予编号从零开始依次比较与第同学的成绩发现更小的就赋予输出五位同学成绩输出最低分源码请输入位同学的数学成绩位同学的数学成绩为最低分为练习输入个学生的英语成绩求最高分最低分平均分学习必备欢迎下载例题二将元素置依次查看每个元素用双重循环源码判断是否是右上三角置输出宽度为不够补空格学习必备欢迎下载练习求出数组周边元素的平均值例如若数组中的值为输出结果应为注意周边元素是那些元素结果是型数组是什么类型例题输空格标点符号所以我们用结构而不是结构但又因为里面没有做任何处理所以
17、只剩下了我们翻开课本最后一页表发现大写字符的值比小写字母小了故有既小写字母大写字母输入一行英文我们有三种方式在这里我们选用第三种原因参考学习必备 欢迎下载 最后,对于 8个数:49 38 65 97 76 13 27 49 ,总共进行了 7趟排序,第 1趟排序进行了7次两两比较,第 i 趟排序进行了 8-i次两两比较(此处 i 从 1开始)练习:编写程序,用选择法对大小为 10的数组按从大到小排序#include stdio.h main()int i,j,t,temp;int a8=49,38,65,97,76,13,27,49;for(i=0;i8;i+)t=i;/*第 i 趟从第 i 个
18、元素开始比较,i 从 0开始*/for(j=i+1;jaj)t=j;if(t!=i)/*将第 i 趟中最大值放在 ai的位置*/temp=at;at=ai;ai=temp;for(i=0;i8;i+)printf(%dn,ai);最低赋予编号从零开始依次比较与第同学的成绩发现更小的就赋予输出五位同学成绩输出最低分源码请输入位同学的数学成绩位同学的数学成绩为最低分为练习输入个学生的英语成绩求最高分最低分平均分学习必备欢迎下载例题二将元素置依次查看每个元素用双重循环源码判断是否是右上三角置输出宽度为不够补空格学习必备欢迎下载练习求出数组周边元素的平均值例如若数组中的值为输出结果应为注意周边元素是那
19、些元素结果是型数组是什么类型例题输空格标点符号所以我们用结构而不是结构但又因为里面没有做任何处理所以只剩下了我们翻开课本最后一页表发现大写字符的值比小写字母小了故有既小写字母大写字母输入一行英文我们有三种方式在这里我们选用第三种原因参考学习必备 欢迎下载 附录 字符串的输入输出(1)采用循环的方式读取字符串 我们发现:不输完 15个字符就会一直等待你输入 (2)采用%s 的方式读取字符串 注意:%s 读取时遇到空格就认为是结束标志!(3)采用 gets()的方式读取字符串#include stdio.h main()char a15;int i;printf(请输入 15个字符:n);for(
20、i=0;i=14;i+)scanf(%c,&ai);printf(n);printf(您刚输入的 15个字符:);for(i=0;i=14;i+)printf(%c,ai);#include stdio.h main()char c15;printf(请输入 15个以内的字符:n);gets(c);printf(您刚输入的字符为:n);puts(c);#include stdio.h main()char c15;printf(请输入 15个以内的字符:n);scanf(%s,c);printf(您刚输入的字符为:n);printf(%sn,c);输入:I am a worker.输出结果:I
21、 am a worker.输入:I am a worker.输出结果:I 输入:I am a worker.输出结果:I am a worker.最低赋予编号从零开始依次比较与第同学的成绩发现更小的就赋予输出五位同学成绩输出最低分源码请输入位同学的数学成绩位同学的数学成绩为最低分为练习输入个学生的英语成绩求最高分最低分平均分学习必备欢迎下载例题二将元素置依次查看每个元素用双重循环源码判断是否是右上三角置输出宽度为不够补空格学习必备欢迎下载练习求出数组周边元素的平均值例如若数组中的值为输出结果应为注意周边元素是那些元素结果是型数组是什么类型例题输空格标点符号所以我们用结构而不是结构但又因为里面没
22、有做任何处理所以只剩下了我们翻开课本最后一页表发现大写字符的值比小写字母小了故有既小写字母大写字母输入一行英文我们有三种方式在这里我们选用第三种原因参考学习必备 欢迎下载 说明:gets 函数用来输入字符串,能够读取空格和回车符。puts 函数用来输出的,输出时会自动在字符串末尾加一个换行符。最低赋予编号从零开始依次比较与第同学的成绩发现更小的就赋予输出五位同学成绩输出最低分源码请输入位同学的数学成绩位同学的数学成绩为最低分为练习输入个学生的英语成绩求最高分最低分平均分学习必备欢迎下载例题二将元素置依次查看每个元素用双重循环源码判断是否是右上三角置输出宽度为不够补空格学习必备欢迎下载练习求出数组周边元素的平均值例如若数组中的值为输出结果应为注意周边元素是那些元素结果是型数组是什么类型例题输空格标点符号所以我们用结构而不是结构但又因为里面没有做任何处理所以只剩下了我们翻开课本最后一页表发现大写字符的值比小写字母小了故有既小写字母大写字母输入一行英文我们有三种方式在这里我们选用第三种原因参考