C语言实验报告第五章 - 图文
更新时间:2023-10-13 15:45:01 阅读量: 综合文库 文档下载
- c语言实验报告第五章答案推荐度:
- 相关推荐
实 验 报 告
课程名称 _____ C语言程序设计_____ 实验项目 ___数组(1)___ 实验仪器 ______计算机___________
系 别_____信息与通信工程学院_______ 专 业______通信_________ 班级/学号____
学生姓名 ______ ___
实验日期 ____2013年06月19日___ 成 绩 _______________________
指导教师
______李文杰_________
一、 实验目的
1、 掌握一维数组的定义及初始化。 2、 掌握一维数组元素的引用及其应用。
3、 掌握一维数组的常见算法:遍历,查找算法(顺序,折半),排序算法,插入算法,删除算法。 二、 实验内容
1.
描述
津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。 但是津津如果一天上课超过八个小时就会不高兴,而且,上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴。如果会的话,哪天最不高兴。
输入
输入数据有多组,第一行包含一个整数T,表示有T组数据。
每组输入包括七行数据,分别表示周一到周日的日程安排。每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。
输出
输出包括一行,这一行只包含一个数字。如果不会不高兴则输出0,如果会则输出最不高兴的是周几(用1,2,3,4,5,6,7分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的—天。
样例输入
1 5 3 6 2
7 2 5 3 5 4 0 4 0 6
样例输出
3
程序代码:
# include \ int main() {
int a[10000];
int n, r; int i, ii, tt; char c; int k, maxm; a[0]=0;
scanf (\ for (tt=1;tt<=n;tt++) { k=0; maxm=0; for (i=1;i<=7;i++) {
scanf(\ r+=ii; a[i]=r; if (r>8) { k++; if(a[maxm] printf (\ printf (\ } return 0; } 2、描述 某公司邀请40个顾客参加投票活动,选举他们最喜爱的产品,以决定公司今后的销售策略。共有编号为1号~10号的10个产品,每人只能选择一个产品。编写程序,在整数数组中设置这40个值(投票情况),然后统计投票结果(每一个产品的得票数目)。 输入 40个数值在1~10(含1和10)之间的整数 输出 如下所示: 样例输入 1 1 1 1 1 2 3 3 3 3 3 4 4 5 5 5 5 6 6 6 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 9 9 9 10 10 样例输出 如上图所示 提示 表头汉字之间用1个空格分隔。表体各列之间用5个空格分隔。 程序代码: #include \ int main() { int a[40],i,b[10]={0},j; for(i=0;i<40;i++) scanf(\ printf(\ú?· μ??± ?±·?í?\\n\ for(i=0;i<40;i++) b[a[i]-1]++; for(i=0;i<10;i++) { printf(\ %d \ for(j=1;j<=b[i];j++) printf(\ printf(\ } return 0; } 3、描述 有n个(n<=40)学生,现要统计这n个学生一次考试中不及格的人数 输入 有两行,第一行为整数n;第二行为n个整数成绩(100(含)以内) 输出 一个整数,表示n个成绩中低于60分的个数 样例输入 5 90 45 67 80 56 样例输出 2 程序代码: #include \int main() { int a[40],i,n,k=0; scanf(\for(i=0;i printf(\return 0; } 4、描述 有一个长度为n的整数序列。请写一个程序,把序列中的最小值与第一个数交换,最大值与最后一个数交换。输出转换好的序列。 输入 输入包括两行。 第一行为正整数n(1≤n≤10)。 第二行为n个正整数组成的序列。 输出 输出转换好的序列。数据之间用一个空格隔开。 样例输入 5 3 1 5 4 2 样例输出 1 3 2 4 5 提示 注意输出时,每个数据后都有一个空格,包括最后一个数据。 程序代码: # include \ # include \ int a[100]; int b; void hanshu(int c,int d) { b=a[d]; a[d]=a[c]; a[c]=b; } int main(void) { a[50]=888888; int i,k,n,max=0,min=50; scanf(\ for(i=1;i<=n;i++) { scanf(\ if(a[i]>a[max]) max=i; if(a[i] hanshu(1,min); hanshu(n,max); for(i=1;i<=n;i++) printf(\ printf(\ return 0; } 5、描述 有n个整数,使其最后m个数变成最前面的m个数,其他各数顺序向后移m(m 输入 输入数据有2行,第一行的第一个数为n,后面是n个整数, 第二行整数m。 输出 按先后顺序输出n个整数。 样例输入 5 1 2 3 4 5 2 样例输出 4 5 1 2 3 程序代码: # include \ int main() { int a[100],i,n,m; scanf(\for(i=0;i scanf(\ scanf(\for(i=n-m;i printf(\ for(i=0;i printf(\ return 0; } 6、描述 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数m,请将该数插入到序列中,并使新的序列仍然有序。 输入 输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。 输出 对于每个测试实例,输出插入新的元素后的数列。 样例输入 3 3 1 2 4 0 0 样例输出 1 2 3 4 提示 输出的数据每个后面有一个空格。 程序代码: #include \ #include \ int main() { int a[100]; int k; int n, m, i; scanf(\ while(n!=0 && m!=0) { k=0; for(i=1;i<=n;i++) { scanf(\ } for (i=1; i<=n;i++) { if (a[i]>=m && a[i-1]<=m && k==0) { printf(\ } printf(\ } if(k==0) printf(\ printf(\ scanf(\ } return 0; } 7. 描述 已知元素从小到大排列的两个数组x[]和y[],请写出一个程序算出两个数组彼此之间差的绝对值中最小的一个,这叫做数组的距离。 输入 第一行为两个整数m, n(1≤m, n≤1000),分别代表数组f[], g[]的长度。 第二行有m个元素,为数组f[]。 第三行有n个元素,为数组g[]。 输出 数组的最短距离 样例输入 5 5 1 2 3 4 5 6 7 8 9 10 样例输出 1 程序代码: #include \ #include \ int main() { int f[10000]; int g[10000]; int minn1,minn2; int n, m, i, j; minn1=minn2=9999999; } scanf(\ for(i=1;i<=n;i++) scanf(\ for (i=1;i<=m;i++) scanf(\ for(i=1;i<=n;i++) { } printf(\ return 0; for(j=1;j<=m;j++) { } if (abs(f[i]-g[j]) minn1=abs(f[i]-g[j]); 8. 描述 编一个程序,输入一个字符串,将组成字符串的所有非英文字母的字符删除后输出。 输入 一个字符串,长度不超过80个字符。 输出 删掉非英文字母后的字符串。 样例输入 qqwqw567bhnabc123+xyz.5 样例输出 qqwqwbhnabcxyz 程序代码: # include \# include \int main() { char a[80]; int i=0; gets(a); while(a[i]!='\\0') { if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z') printf(\ i++; } printf(\ return 0; } 9. 描述 从键盘输入一行字符,统计其中单词的个数,各单词以空格分隔,且空格数可以是多个。 输入 输入只有一行句子。仅有空格和英文字母构成。 输出 单词的个数。 样例输入 stable marriage problem Consists of Matching members 样例输出 7 程序代码: #include \ int main() { char c[1000]; int i=0; while(scanf(\ { i++; } printf(\ return 0; } 10. 描述 把一个字符串里所有的大写字母换成小写字母,小写字母换成大写字母。其他字符保持不变。 输入 输入为一行字符串,其中不含空格。长度不超过80个字符。 输出 输出转换好的字符串。 样例输入 ABCDefgh123 样例输出 abcdEFGH123 程序代码: # include char c[1000]; int i=0; scanf(\ while(c[i]!='\\0') { if(c[i]>=65&&c[i]<=90) printf(\ else if(c[i]>=97&&c[i]<=122) printf(\ else printf(\ i++; } return 0; } 11. 描述 读入N名学生的成绩,将获得某一给定分数的学生人数输出。 输入 测试输入包含若干测试用例,每个测试用例的格式为 第1行:N 第2行:N名学生的成绩,相邻两数字用一个空格间隔。 第3行:给定分数 当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。 输出 对每个测试用例,将获得给定分数的学生人数输出(每行一个输出结果)。 样例输入 3 80 60 90 60 2 85 66 0 5 60 75 90 55 75 75 0 样例输出 1 0 2 程序代码: # include } int c[1000]; int i, n, m, num; while(scanf(\{ if(n==0) break; num=0; for(i=1;i<=n;i++) { scanf(\ } scanf(\ for(i=1;i<=n;i++) { if(c[i]==m) num++; } printf(\} return 0; 12. 描述 编写一个进制转换函数,可以把一个十进制数N,转换成R进制数。 使用该函数完成对输入的一个十进制数及一个要转换的进制,输出转换结果。 输入 输入数据包含多个测试实例,每个测试实例包含两个整数N(<=32bit整数)和R(2<=R<=16, R<>10)。 输出 为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。 样例输入 7 2 23 12 -4 3 样例输出 111 1B -11 程序代码: # include int a[10000]; int n, r; int i, j; char c; while(scanf(\ { i=0; if(n<0) { printf(\ n*=-1; } while(n!=0) { } i++; a[i]=n%r; n/=r; } for(j=i;j>=1;j--) { if(a[j]<10) printf(\ else { c=a[j]+55; printf(\ } } printf(\} return 0; 三、 实验体会 通过这次试验,我掌握了一维数组,二维数组的定义。并掌握了一维数组,二维数组,字符数组,数组作为函数的参数。 不足之处是数组常见算法,例如排序算法,插入算法等的运用不是很熟练。 最后,在学习到知识的同时,我对C程序的精密和美感有了更深的体会,第五章的学习使我更加爱上了独特的计算机语言。
正在阅读:
C语言实验报告第五章 - 图文10-13
机器人总动员观后感12-11
牛津上海版科学七年级第一学期课堂笔记03-02
稳高压与临时高压消防给水系统的主要区别03-08
中国城市燃气安全隐患06-25
2008届校友元旦祝贺母校百年辉煌03-08
纪录片《货币》观后感(一二三集)11-07
自考英语二(00015)历年真题及答案汇总.pdf04-26
脑筋急转弯大全及答案10-13
- 2009中西部家居博览会总体策划
- 2009 Revit 1级工程师学生用
- 天津地铁建设工程试验检测机构管理办法(TJDT-ZY-AQ-29)
- 新四年级数学暑期班第七次教案
- 机械制造企业隐患排查治理检查表 - 图文
- 2008届全国百套高考数学模拟试题分类汇编-103概率与统计解答题 -
- 职场健身防病试题及答案
- Excel操作技巧大全II - --数据输入和编辑技巧
- 南开大学2018春季《行政管理学》离线作业考核答案
- 2015年医师定考简易程序试卷及答案
- 新《预算法》对行政事业单位预算管理的挑战解读
- 轴的课件
- 电动汽车充电桩设计 毕业论文
- 必修2、选修2-1、1-1期末模拟试题2
- 桌面远程运维管理系统实施-可行性研究报告120306
- 西气东输水土保持工程工作总结 - 图文
- 正宁县基本县情及经济社会发展情况简介
- SATWE参数设置(巨详细)
- 儒家法思想研究综述
- 生活家政服务电子商务平台建设运营整合方案书【审报完稿】
- 语言
- 实验
- 图文
- 报告
- 医学检验知识重点笔记
- 数据共享平台开发技术需求
- 宣传解读《北京市审计条例》直播访谈
- 04 第四节 正态总体的置信区间
- 秦观词赏析
- java2实用教程课后习题答案(第三版读程序题)
- 嵌套网格教程 - 图文
- 燃机9E运行规程 - 图文
- 2010级人力资源5101
- 杨大东-规划城市工业园区应注意的几个问题
- 听雨与诗词
- ARM嵌入式系统基础教程课后习题答案及练习题 - - 周立功
- 201209学期建筑结构检测鉴定与加固作业1
- 郑州市某中学教学楼土木混凝土课程设计样板 精品
- 长春金融高等专科学校自主招生面试试题综合素质答案技巧
- 山东省潍坊市2015届高三下学期二模考试数学(文)试题 Word版含答案
- 模拟电子线路习题习题答案
- 护患沟通座谈会记录本
- 专业综合课程设计 QPSK信号的调制解调
- 关于量本利分析法的小结及其习题