资源预览内容
第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
第9页 / 共25页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实 验 报 告课程名称 _ C语言程序设计_实验项目 _数组(1)_实验仪器 _计算机_系 别_信息与通信工程学院_专 业_通信_班级/学号_学生姓名 _ _ 实验日期 _2013年06月19日_成 绩 _ 指导教师 _李文杰_一、 实验目的1、 掌握一维数组的定义及初始化。2、 掌握一维数组元素的引用及其应用。3、 掌握一维数组的常见算法:遍历,查找算法(顺序,折半),排序算法,插入算法,删除算法。二、 实验内容1. 描述津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。 但是津津如果一天上课超过八个小时就会不高兴,而且,上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴。如果会的话,哪天最不高兴。输入输入数据有多组,第一行包含一个整数T,表示有T组数据。每组输入包括七行数据,分别表示周一到周日的日程安排。每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。输出输出包括一行,这一行只包含一个数字。如果不会不高兴则输出0,如果会则输出最不高兴的是周几(用1,2,3,4,5,6,7分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的天。样例输入153627253540406样例输出3程序代码:# include stdio.h int main() int a10000; 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样例输出如上图所示提示表头汉字之间用1个空格分隔。表体各列之间用5个空格分隔。程序代码:#include stdio.h int 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 int main() int a40,i,n,k=0;scanf(%d,&n);for(i=0;in;i+)scanf(%d,&ai);for(i=0;in;i+)if(ai60)k+;printf(%d,k);return 0; 4、描述有一个长度为n的整数序列。请写一个程序,把序列中的最小值与第一个数交换,最大值与最后一个数交换。输出转换好的序列。 输入输入包括两行。 第一行为正整数n(1n10)。 第二行为n个正整数组成的序列。输出输出转换好的序列。数据之间用一个空格隔开。样例输入531542 样例输出13245 提示注意输出时,每个数据后都有一个空格,包括最后一个数据。程序代码:# include stdio.h # include math.h int a100; int b; void hanshu(int c,int d) b=ad; ad=ac; ac=b; int main(void) a50=888888; int i,k,n,max=0,min=50; scanf(%d,&n); for(i=1;iamax) max=i; if(aiamin) min=i; hanshu(1,min); hanshu(n,max); 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 int main()int a100,i,n,m;scanf(%d,&n);for(i=0;in;i+)scanf(%d,&ai);scanf(%d,&m);for(i=n-m;in;i+)printf(%d ,ai);for(i=0;in-m;i+)printf(%d ,ai);return 0; 6、描述有n(n=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数m,请将该数插入到序列中,并使新的序列仍然有序。 输入输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。输出对于每个测试实例,输出插入新的元素后的数列。样例输入3312400样例输出1234 提示输出的数据每个后面有一个空格。程序代码:#include stdio.h #include math.h int main() int a100; int k; int n, m, i; scanf(%d%d,&n,&m); while(n!=0 & m!=0) k=0; for(i=1;i=n;i+) scanf(%d,&ai); for (i=1; i=m & ai-1=m & k=0) printf(%d ,m);k=1; printf(%d ,ai); if(k=0) printf(%d,m); printf(n); scanf(%d%d,&n,&m); return 0; 7. 描述已知元素从小到大排列的两个数组x和y,请写出一个程序算出两个数组彼此之间差的绝对值中最小的一个,这叫做数组的距离。 输入第一行为两个整数m, n(1m, n1000),分别代表数组f, g的长度。 第二行有m个元素,为数组f。 第三行有n个元素,为数组g。输出数组的最短距离样例输入5512345678910样例输出1程序代码:#include stdio.h #include math.h int main() int f10000; int g10000; int minn1,minn2; int n, m, i, j; minn1=minn2=9999999; scanf(%d%d,&n,&m); for(i=1;i=n;i+) scanf(%d,&fi); for (i=1;i=m;i+) scanf(%d,&gi); for(i=1;i=n;i+) for(j=1;j=m;j+) if (abs(fi-gj)minn1) minn1=abs(fi-gj); printf(%d,minn1); return 0; 8. 描述编一个程序,输入一个字符串,将组成字符串的所有非英文字母的字符删除后输出。输入一个字符串,长度不超过80个字符。输出删掉非英文字母后的字符串。样例输入qqwqw567bhnabc123+xyz.5样例输出qqwqwbhnabcxyz程序代码:
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号