版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机程序设计训练院 系 电气信息工程学院 专业班级 学生姓名 学生学号 指导教师 2011年7月8日程序设计训练任务书课程 C计算机程序设计训练专业 姓名 学号 主要内容:【程序 1】题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。【程序2】题目:文件操作,要求以二进制方式打开命令行参数中指定的文件,并将二进制方式读取的文件数据(0和1)存储为文本文件,即文件内容是ASCII的0与1方式。【程序 3】题目:空间直角坐标系变换程序,在空间直角坐标系中,如果保持原点不动,x轴偏转度,y轴偏转度,求z轴偏转的角度以及z轴在原坐标系中XY平面的投影.【程序 4】题目:有n
2、个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。【程序 5】题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。【程序 6】题目:要求设计一个程序对从键盘输入一个字符串str,str长度小于99,然后在屏幕打印出一个新字符串,新字符串的构成为AABB10strXCCDD,其中AABB和CCDD是开始标志和结束标志,第5、6位是字符串str的长度,X是整个字符串的逻辑异或结果。【程序 7】题目:要求设计一个程序提取程序6的输出字符串中的内容,并打印到屏幕上。【程序 8】题目:使用递归方式求解hanoi塔
3、问题。【程序 9】题目:设计两个链表,分别输入2个和3个数据,然后连接两个链表,采用搜索的方式找出链表中最大值与最小值。【程序10】题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?【程序11】题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。 【程序12】题目:有两个磁盘文件A和B,各存放一行字母,
4、要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。基本要求:1. 程序运行结果正确2. 程序可读性好,要有注释3. 发送所有完成程序到老师邮箱4. 撰写训练报告5. 至少写十个程序完成期限 指导教师 目 录程序12程序24程序36程序48程序510程序613程序715程序817程序919程序1021程序1题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。思路:在调用函数中定义一个数组aN,再定义一个数b。变量i从N-1到0的过程中,如果ai=b,则把ai赋给啊ai+1;否则把b赋给ai+1。在主函数中输入一个数,调用该函数,最后输出新数组ai。 程
5、序流程图: 开始定义数组aN,b循环变量ii=N-1;i=0;i-ai+1=aib=0;i-) if(b=ai) ai+1=ai; else ai+1=b; break; main()int aN=1 ,2,3,4,5,6,7,8,9,10;int i,b; scanf(%d,&b); fun(a,b); for(i=0;i=A&stri=Z) stri+=32;fprintf(fp,%s,str);fp=fopen(test.txt,r);fgets(str,10,fp);printf(%sn,str);fclose(fp);_运行截图:程序4题目:海滩上有一堆桃子,五只猴子来分。第一只猴子
6、把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?思路:程序流程图:开始定义整形变量i,m,j,k,t.i=4;i1000;i+=4i=mt=0,m=ik=0;k5;k+输出j;breakj=i/4*5+1;i=jNt=4Ybreakt+结束程序:#include stdio.hmain()int i,m,j,k,t;for(i=4;i10000;i+=4) t=0; m=i; for(k=0;k5;k+) j=i/4
7、*5+1; i=j; if(j%4=0) t+; else break; i=m; if(t=4) printf(%dn,j); break; _此处写程序代码运行截图程序5开 始定义文件指针*fp,整型变量I,j,n,ni,字符型变量c160,t,chfp=A打开文件AY输出cannot open fileN输入字符串c将c储存到A中,关闭AFfp=B,打开文件BN输出cannot open fileY输入字符串c将c储存到B中,关闭B打开只读文件B,输出其内容i=0;将B中字符ch负给ci,i+直至遇到终止符,关闭B,打开只读文件A,输出其内容i=0;将A中字符ch负给ci,i+直至遇到终
8、止符,关闭A,题目:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。思路:打开文件A,输入字符串,关闭A;打开文件B,输入字符串,关闭B;用一个字符型数组c160提取A.B文件中的内容,然后排序,再打开C文件,将c中字符一个个写入C中,关闭C文件首先定义一个有序数组A,再定义一个空数组B,B的大小比A大1,然后从键盘输入一个数n,再数组中查找数的位置p,将A数组中此位置前的数复制到B数组的相应位置,将程序流程图:将ci字符按大小排序打开c文件,将ci写入输出其内容,关闭C文件结束程序#include stdio.hmain() FIL
9、E *fp;int i,j,n,ni;char c40,t,ch;if(fp=fopen(A.txt,r)=NULL)printf(wen jian A bu neng bei da kain);exit(0);printf(n A de nei rong wei:n);for(i=0;(ch=fgetc(fp)!=EOF;i+)ci=ch;putchar(ci);fclose(fp);ni=i;if(fp=fopen(B.txt,r)=NULL)printf(wen jian B bu neng bei da kain);exit(0);printf(n B de nei rong wei:
10、n);for(;(ch=fgetc(fp)!=EOF;i+)ci=ch;putchar(ci); ci=0;fclose(fp);n=i;for(i=0;in;i+)for(j=i+1;jcj)t=ci;ci=cj;cj=t;printf(n wei jian C wei:n);if(fp=fopen(C.txt,w)=NULL)printf(cant open C!n);exit(0); fputs(c,fp);fclose(fp);运行截图程序6定义全局变量nmax 50开 始题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几
11、号的那位。令i=0,k=0,m=0NinYp=num*(p+i)=i+1i=0输入总人数n定义i,k,m,n,numnmax,*p思路:首先定义一个有序数组A,再定义一个空数组B,B的大小比A大1,然后从键盘输入一个数n,再数组中查找数的位置p,将A数组中此位置前的数复制到B数组的相应位置,将数n写入B数组,再从A数组复制剩下的数到B。YY程序流程图:mn-1i+Y*(p+i)!=0Nk=3Yk+*(p+i)=0,k=0,m+Ni=ni=0YY*p=0YNp+输出p结束结束输出*p程序:#define nmax 50main()int i,k,m,n,numnmax,*p;scanf(%d,&
12、n);p=num;for(i=0;in;i+)*(p+i)=i+1; i=0; k=0; m=0; while(mn-1) if(*(p+i)!=0) k+; if(k=3) *(p+i)=0; k=0; m+; i+;if(i=n) i=0;while(*p=0) p+;printf(%d is leftn,*p);此处写程序代码运行截图:程序7题目:使用递归方式求解hanoi塔问题。思路:输入盘子个数,调用递归函数hanoi,当只有一个盘子时,就把此盘子放在最下面,最终结果用move函数输出。从A数组复制剩下的数到B。程序流程图:开始定义m输入总个数m调用函数hanoi(m,A,B,C)输
13、出结果结束定义整型变量n,字符型变量a,b,c调用函数move(a,c)n=11Y调用函数hanoi(n-1,a,c,b);调用函数hanoi(n-1,b,a,c)N定义字符型变量x,yprintf(“%c%c”,x,y)程序:#includevoidhanoi(int n,char first,char second,char third)if(n=1)printf(%c%c ,first,third);elsehanoi(n-1,first,third,second);printf(%c%c ,first,third);hanoi(n-1,second,first,third); void
14、 main() int n; printf(input the number disk:n); scanf(%d,&n);printf(the method is moving:n); hanoi(n,A,B,C); getchar(); 运行截图:程序8题目:要求设计一个程序对从键盘输入一个字符串str,str长度小于99,然后在屏幕打印出一个新字符串,新字符串的构成为AABB10strXCCDD,其中AABB和CCDD是开始标志和结束标志,第5、6位是字符串str的长度,X是整个字符串的逻辑异或结果。思路:键盘输入一个字符串,计算它的长度,用数学函数球的该字符串的逻辑异或结果,按题目要求输
15、出该字符串。首先定义一个有序数组A,再定义一个空数组B,B的大小比A大1,然后从键盘输入一程序流程图:开始定义字符变量a50,整形变量i,m输入字符串ai=1;ai!=0;i+t=ai-1ai;ai-1=t输出ai结束程序:#include stdio.hmain()char a50; int i,m; gets(a); for(i=1;ai!=0;i+) t=ai-1ai; ai-1=t; printf(AABB%da%dCCDD,i,m);运行截图:程序9题目:要求设计一个程序提取程序6的输出字符串中的内容,并打印到屏幕上。思路:定义之文件指针*fp指向文件tca.txt.在调用函数中打开
16、该文件,将字符一个个输入到显示屏上。程序流程图:开始定义文件指针*fp,字符型变量chfp指向文件tca.txt并打开输出“bu neng da kai wen jian tca.txtNY输出“cheng gong”从中提取一个字符ch=fgetc(fp)ch!=EOF提取字符并输出开始程序:#include stdio.h#include stdlib.hmain() char ch; FILE *fp; if(fp=fopen(E:tca.txt,r)=NULL) printf(bu neng da kai tca.txt!n); exit(0); else printf(cheng g
17、ong!); ch=fgetc(fp); while(ch!=EOF) putchar(ch); ch=fgetc(fp); putchar(n); fclose(fp); 运行截图:程序10题目:文件操作,要求以二进制方式打开命令行参数中指定的文件,并将二进制方式读取的文件数据(0和1)存储为文本文件,即文件内容是ASCII的0与1方式。 思路:首先定义一个有序数组A,再定义一个空数组B,B的大小比A大1,然后从键盘输入一个数n,程序流程图:开始定义函数fun(char c),定义整型变量i=7,j,将c赋给ji=7;i=0;i-si=j%2;j=j/2主函数中定义文件指针*fp,*fpp;
18、字符型变量a;整型变量j打开文件11.txt和22.txt当!feof(fp)调用函数fun()关闭文件11.txthe22.txt结束程序:# include stdio.h int s8=0,0,0,0,0,0,0,0; void fun(char c) int i=7,j; j=c; for (i=7;i=0;i-) si=j%2; j=j/2; return; main() FILE *fp,*fpp; char a; int j; fp=fopen(d:11.txt,rb); fpp=fopen(d:22.txt,w); while (!feof(fp) fread(&a,sizeof(char),1,fp); fun(a); for (j=0;j8;j+) fprintf(fpp,%d,sj); fclo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深圳市劳务员考试题库及答案
- 人卫技师考试题库及答案
- 辅警职责培训课件
- 辅警作风建设培训课件
- 护理对医疗质量改进的贡献
- 2026年深圳中考语文文言文翻译专项试卷(附答案可下载)
- 2026年深圳中考英语临考冲刺押题试卷(附答案可下载)
- 2026年深圳中考物理易混考点辨析试卷(附答案可下载)
- 2026年深圳中考生物专题整合训练试卷(附答案可下载)
- 2026年深圳中考生物名师原创预测试卷(附答案可下载)
- 父亲给孩子的一封信高中生(五篇)
- 动角问题专项训练(30道)
- SH-T 3202-2018 二氧化碳输送管道工程设计标准 含2022年第1号修改单
- (完整word版)大一高数期末考试试题
- 办公楼高清网络视频监控系统解决方案
- 膜分离技术论文
- 春节序曲简谱
- 三菱FX3U系列PLC编程技术与应用 第三章
- 麦尔兹石灰窑培训
- GA/T 947.2-2015单警执法视音频记录系统第2部分:执法记录仪
- 工程施工合理化建议及优惠条件
评论
0/150
提交评论