




免费预览已结束,剩余11页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言实验报告(五)一、实验目的1. 掌握使用C语言中数组的方法2. 掌握如何定义数组,如何引用数组元素3. 掌握二维数组的元素在内存中的存放方式4. 掌握什么是字符串,字符串结束符的作用5. 实现字符串的存储和操作,包括字符串的输入和输出6. 理解C语言将字符串作为一个特殊的一维字符数组二、实验内容1. 津津的学习情绪描述:津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。 但是津津如果一天上课超过八个小时就会不高兴,而且,上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴。如果会的话,哪天最不高兴。输入:输入数据有多组,第一行包含一个整数T,表示有T组数据。每组输入包括七行数据,分别表示周一到周日的日程安排。每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。输出:输出包括一行,这一行只包含一个数字。如果不会不高兴则输出0,如果会则输出最不高兴的是周几(用1,2,3,4,5,6,7分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的天。样例输入: 153627253540406样例输出:3程序代码:# include stdio.h int a10000; int main(void) int n, r; int i, ii, tt; char c; int k, maxm; a0=0; scanf (%d,&n); for (tt=1;tt=n;tt+) k=0; maxm=0; for (i=1;i8) k+; if(amaxmr) maxm=i; if (k=0) printf (0); else printf (%d,maxm); printf (n); return 0; 2. 数据统计描述:某公司邀请40个顾客参加投票活动,选举他们最喜爱的产品,以决定公司今后的销售策略。共有编号为1号10号的10个产品,每人只能选择一个产品。编写程序,在整数数组中设置这40个值(投票情况),然后统计投票结果(每一个产品的得票数目)。输入:40个数值在110(含1和10)之间的整数输出:如下所示:样例输入:111112333334455556666666677777888889991010样例输出:如上图所示程序代码:#include stdio.hint main()int a40,i,b10=0,j;for(i=0;i40;i+)scanf(%d,&ai);printf(产品 得票 直方图n);for(i=0;i40;i+)bai-1+;for(i=0;i10;i+)printf(%d %d ,i+1,bi);for(j=1;j=bi;j+)printf(*);printf(n);return 0;3. 统计不及格人数描述:有n个(n=40)学生,现要统计这n个学生一次考试中不及格的人数输入:有两行,第一行为整数n;第二行为n个整数成绩(100(含)以内)输出:一个整数,表示n个成绩中低于60分的个数样例输入:59045678056样例输出:2程序代码:#include stdio.h#define N 40int main()int aN,K=0,i,n;scanf(%d,&n);for(i=0;in;i+)scanf(%d,&ai);for(i=0;in;i+)if(ai60)K+;printf(%dn,K);return 0;4. 最值问题描述:有一个长度为n的整数序列。请写一个程序,把序列中的最小值与第一个数交换,最大值与最后一个数交换。输出转换好的序列。 输入:输入包括两行。 第一行为正整数n(1n10)。 第二行为n个正整数组成的序列。输出:输出转换好的序列。数据之间用一个空格隔开。样例输入:531542 样例输出:13245 程序代码:# include stdio.h # include math.h int a100; int s; void swap(int q,int w) s=aw; aw=aq; aq=s; int main(void) a50=888888; int i,k,n,maxm=0,minn=50; scanf(%d,&n); for(i=1;iamaxm) maxm=i; if(aiaminn) minn=i; swap(1,minn); swap(n,maxm); for(i=1;i=n;i+) printf(%d ,ai); printf(n ); return 0; 5. 数组逆序描述:有n个整数,使其最后m个数变成最前面的m个数,其他各数顺序向后移m(mn100)个位置。 输入:输入数据有2行,第一行的第一个数为n,后面是n个整数,第二行整数m。输出:按先后顺序输出n个整数。样例输入:5123452样例输出:45123程序代码:# include stdio.h# include math.h int a100; int s; void swap(int q,int w) s=aw; aw=aq; aq=s; int main(void) int n, i, m, k; scanf(%d,&n); for(i=1;i=n;i+) scanf(%d,&ai); scanf(%d,&m); k=n-m+1; for(i=k;i=n;i+) printf(%d ,ai); for(i=1;ik;i+) printf(%d ,ai); printf(n); return 0; 6. 插入排序描述:有n(n=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数m,请将该数插入到序列中,并使新的序列仍然有序。 输入:输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。输出:对于每个测试实例,输出插入新的元素后的数列。样例输入: 3312400样例输出: 1234 程序代码:#include stdio.h #include math.hint a100; int s; int pd; void swap(int q,int w) s=aw; aw=aq; aq=s; int main(void) int n, m, i; scanf(%d%d,&n,&m); while(n!=0 & m!=0) pd=0; for(i=1;i=n;i+) scanf(%d,&ai); for (i=1; i=m & ai-1=0) return qq-ww; elsereturn (qq-ww)*-1; int main(void) int n, m, i, ii; minn1=minn2=9999999; scanf(%d%d,&n,&m); for(i=1;i=n;i+) scanf(%d,&ai); for (i=1;i=m;i+) scanf(%d,&bi); for(i=1;i=n;i+) for(ii=1;ii=m;ii+) if (abs(ai,bii)=a&si=A&si=Z)printf(%c,si);i+;printf(n);return 0;9. 单词统计描述:从键盘输入一行字符,统计其中单词的个数,各单词以空格分隔,且空格数可以是多个。 输入:输入只有一行句子。仅有空格和英文字母构成。输出:单词的个数。样例输入:stable marriage problem Consists of Matchingmembers样例输出: 7程序代码:#include stdio.h char c1000; int main(void) int i=0; while(scanf(%s,&c)=1) i+; /printf(n); printf(%d,i); return 0; 10. 大小写转换描述:把一个字符串里所有的大写字母换成小写字母,小写字母换成大写字母。其他字符保持不变。输入:输入为一行字符串,其中不含空格。长度不超过80个字符。输出:输出转换好的字符串。样例输入:ABCDefgh123样例输出:abcdEFGH123程序代码:# include char c1000;int main(void) int i=0; scanf(%s,&c); while(ci!=0) if(ci=65&ci=97&ci=122) printf(%c,ci-32); else printf(%c,ci); i+; /printf(%d,i); return 0; 11. 相同成绩人数统计描述:读入N名学生的成绩,将获得某一给定分数的学生人数输出。 输入:测试输入包含若干测试用例,每个测试用例的格式为第1行:N第2行:N名学生的成绩,相邻两数字用一个空格间隔。第3行:给定分数当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。输出:对每个测试用例,将获得给定分数的学生人数输出(每行一个输出结果)。样例输入: 38060906028566056075905575750样例输出: 102程序代码:# include int c1000; int main(void) int i, n, shu, sum; scanf(%d, &n); while(n!=0) sum=0; for(i=1;i=n;i+) scanf(%d,&ci); scanf(%d, &shu); for(i=1;i=n;i+) if(ci=shu) sum+; printf(%dn,sum); scanf(%d,&n); / printf(%d,i);return 0; 12. 进制转换函数描述:编写一个进制转换函数,可以把一个十进制数N,转换成R进制数。使用该函数完成对输入的一个十进制数及一个要转换的进制,输出转换结果。输入:输入数据包含多个测试实例,每个测试实例包含两个整数N(=32bit整数)和R(2=R=16, R10)。输出:为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年重庆市初中学业水平考试化学模拟试卷(含答案详解)
- 2025咪咕视讯科技有限公司职业经理人岗位公开选聘1人笔试题库历年考点版附带答案详解
- 2025中煤天津设计工程有限责任公司公开招聘笔试题库历年考点版附带答案详解
- 2025中国联通校园招聘新苗(2151个)岗位已出笔试题库历年考点版附带答案详解
- 2025年危重病房急救规范操作考核模拟试卷答案及解析
- 2025年智能硬件行业智能家居与可穿戴设备研究报告
- 2025年文化创意行业数字化转型与内容创新研究报告
- 2025年工业0行业智能制造技术实践研究报告
- 2025年教育行业在线教育模式创新与用户体验研究报告
- 2025年体育用品行业体育用品市场前景分析研究报告
- 光伏发电建设工程质量监督检查大纲(2023版)
- 老人外出免责协议书
- 研究生教材SPSS统计软件应用
- 青春期生殖健康教育
- 2025年BM²T电池管理技术白皮书-阳光电源
- 中医诊所招学徒合同标准文本
- 汉语言文学毕业论文-鲁迅小说中的知识分子形象
- 长期供应商供货合同书
- 如何缓解焦虑和压力
- 垃圾分类志愿服务
- ccusg重症超声培训班题库
评论
0/150
提交评论