欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    C程序设计报告.doc

    • 资源ID:1077656       资源大小:292.50KB        全文页数:27页
    • 资源格式: DOC        下载积分:10积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要10积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C程序设计报告.doc

    1、东北石油大学计算机程序设计训练院 系 电气信息工程学院 专业班级 学生姓名 学生学号 指导教师 2011年7月8日程序设计训练任务书课程 C计算机程序设计训练专业 姓名 学号 主要内容:【程序 1】题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。【程序2】题目:文件操作,要求以二进制方式打开命令行参数中指定的文件,并将二进制方式读取的文件数据(0和1)存储为文本文件,即文件内容是ASCII的0与1方式。【程序 3】题目:空间直角坐标系变换程序,在空间直角坐标系中,如果保持原点不动,x轴偏转度,y轴偏转度,求z轴偏转的角度以及z轴在原坐标系中XY平面的投影.【程序 4

    2、】题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。【程序 5】题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。【程序 6】题目:要求设计一个程序对从键盘输入一个字符串str,str长度小于99,然后在屏幕打印出一个新字符串,新字符串的构成为AABB10strXCCDD,其中AABB和CCDD是开始标志和结束标志,第5、6位是字符串str的长度,X是整个字符串的逻辑异或结果。【程序 7】题目:要求设计一个程序提取程序6的输出字符串中的内容,并打印到屏幕上。【程序 8】题目:使用递归方式求解

    3、hanoi塔问题。【程序 9】题目:设计两个链表,分别输入2个和3个数据,然后连接两个链表,采用搜索的方式找出链表中最大值与最小值。【程序10】题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?【程序11】题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。 【程序12】题目:有两个磁盘文件A和B,各存

    4、放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。基本要求:1. 程序运行结果正确2. 程序可读性好,要有注释3. 发送所有完成程序到老师邮箱4. 撰写训练报告5. 至少完成10个程序完成期限 2010年7月8号 指导教师 2011年6 月12日计算机程序设计训练目 录程序12程序24程序35程序46程序57程序68程序79程序810程序911程序101224程序1题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。思路:把插入的数与数组中各数逐个比较,当找到第一个比插入数小的元素i时,该元素之前即为插入位置。然后从数组最后一个元素开始到

    5、该元素为止,逐个后移一个单元。最后把插入数赋予元素i。开始程序流程图:输出ai;i+将aj赋值给aj+1;break跳出循环j-j大于等于ij赋值为9i小于等于9代入循环for(i=0;iai,如果i9定义变量i,j,n,数组a10;对n赋值,代入循环for(i=0;i9;i+) 否 是 否 是 否 是结束程序:#include stdio.hmain() int i,j,n,a10=90,80,70,60,50,40,30,20,10; scanf(%d,&n); for(i=0;iai) for(j=9;j=i;j-) aj+1=aj; break; ai=n; for(i=0;i=9;i

    6、+) printf(%d ,ai); printf(n);运行截图:、程序2题目:文件操作,要求以二进制方式打开命令行参数中指定的文件,并将二进制方式读取的文件数据(0和1)存储为文本文件,即文件内容是ASCII的0与1方式。思路:定义变量和函数,建立两个文件,一个输入十进制数,经函数转换后输入另一个文件,输出结果。程序流程图:开始定义变量i=7,j;函数fun定义各种变量*fp1,*fp2;char b;int j;以二进制方式读取,打开文件A;以写的方式打开文件B;!feof(fp1)在fp2输出aj;j+;调用函数funfread(&b,sizeof(char),1,fp1); 否 是进

    7、入循环for(j=0;j8;j+)j=0;i-) ai=j%2; j=j/2; return; main() FILE *fp1,*fp2;char b;int j; fp1=fopen(C:A.txt,rb); fp2=fopen(C:B.txt,w); while (!feof(fp1) fread(&b,sizeof(char),1,fp1); fun(b); for(j=0;j8;j+) fprintf(fp2,%d,aj); fclose(fp1);fclose(fp2);运行截图:此处附运行图(从计算机屏幕直接截取,首先将运行窗口属性改为白底黑字,然后按prtScn键,在画图中粘贴

    8、后剪切所需部分粘贴到此处)程序1程序3题目:要求设计一个程序对从键盘输入一个字符串str,str长度小于99,然后在屏幕打印出一个新字符串,新字符串的构成为AABB10strXCCDD,其中AABB和CCDD是开始标志和结束标志,第5、6位是字符串str的长度,X是整个字符串的逻辑异或结果。思路:定义变量和字符数组,建立循环计算长度,以AABB和CCDD是开始标志和结束标志,输入字符串,经循环后输出结果。程序流程图:结束开始以%dCCDDn形式输出x;stri!=0以AABB%d形式输出n;stri!=0定义各种变量charstr99;int i,j,k;n=0;进入循环for(i=0;str

    9、i!=0;i+;) 否 是将x赋为stristri+1;n+; i+;进入循环for(i=0;stri!=0;i+;) 否 是输出stri;i+程序:#include stdio.h#include string.h#include stdlib.hmain() char str99; int i,n,x; n=0; gets(str); for(i=0;stri!=0;i+) n+; x=stristri+1; printf(AABB%d,n); for(i=0;stri!=0;i+) printf(%c,stri); printf(%dCCDDn,x);运行截图:此处附运行图(从计算机屏幕

    10、直接截取,首先将运行窗口属性改为白底黑字,然后按prtScn键,在画图中粘贴后剪切所需部分粘贴到此处)程序1程序4题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。思路:定义变量,输入总人数,把人当做变量,使用循环,n记录总人数,i记录号码。直到循环停止,得出结果。程序流程图:开始break跳出将ps赋为0;a-;将s赋为(s+1)%n将i赋为3如果ps=1printf(%dn,i+1);i+i小于等于3进入循环for(i=1;i=3;i+)将a赋为1return0;i+循环while(1)将a赋为n;s赋为0;i小于等

    11、于n定义各种变量n,s,a,i,*p;输入数n;进入循环for(i=0;in;i+)进入循环for(i=0;in;i+) 否 是结束i小于等于n;输出i+1;把pj赋为1;否i+ 是i+; 否 是返回 0; 否 是 否 是 否将s赋为(s+1)%n;将i赋为i-1; 是 否 是程序:#includeint main() int n,s,a,i,*p; printf(n:); scanf(%d,&n); p=s; for(i=0;in;i+) pi=1; a=n; s=0; while(1) if(a=1) break; for(i=1;i=3;i+) if(ps=1) if(i=3) ps=0

    12、;a-; s=(s+1)%n;else s=(s+1)%n;i=i-1; for(i=0;in;i+) if(pi=1) printf(%dn,i+1); return 0;运行截图:程序5题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。思路:定义一指针变量,在主函数上定义一字符数组,输入字符串,在调用函数完成循环。开始程序流程图:定义各种变量int i=0;*p;函数fun;定义字符串长度char p500;调用函数fun输出fun(p)返回 0;结束程序:#include int fun(char *p) int i=0; while(*p) p+;i+;

    13、return i;main() char p500; gets(p); printf(%dn,fun(p); return 0;运行截图:程序6题目:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。开始思路:建立三个文件A,B,C,在A,B中输入字符串,通过文件函数连接文件,在循环中相互比较,最后在C中输出。程序流程图:在C中写入(ci,fp);i+;i小于n令i=0printf(n C file is:n);i+交换值t=ci;ci=cj;cj=t;如果cicji小于n令i=0关闭(fp);令i=m关闭(fp);fclose(fp)

    14、;i+打开文件A,B,C; 令i=0;定义各种变量*fp;i,j,n,m; char c300,t,ch;如果(ch=fgetc(fp)!=EOF 否 是将ci赋为ch;i+;如果(ch=fgetc(fp)!=EOF 否 是将ci赋为ch; i+ 否 是 否 是 否 是 结束程序:main() FILE *fp;int i,j,n,m;char c300,t,ch;fp=fopen(c:A.txt,w);printf(“nplease input a stringn);gets(c);fputs(c,fp);fclose(fp); fp=fopen(c:B.txt,w);printf(plea

    15、se input a stringn);gets(c);fputs(c,fp);fclose(fp);fp=fopen(c:A.txt,r);printf(n A nei rong are :n);for(i=0;(ch=fgetc(fp)!=EOF;i+)ci=ch;putchar(ci);fclose(fp);m=i; fp=fopen(c:B.txt ,r)printf(n B nei rong are :n);for(i=m;(ch=fgetc(fp)!=EOF;i+)ci=ch;putchar(ci);fclose(fp);n=i;for(i=0;in;i+)for(j=i+1;jc

    16、j)t=ci;ci=cj;cj=t;printf(n C file is:n);fp=fopen(c: C.txt ,w);for(i=0;i=a&stri=a&striC;否则移动A,B,C,输出结果。程序流程图:以move函数移动hanoi(n-1,A,C,B);以move函数移动hanoi(n-1,B,A,C);移动A到C;输出结果开始定义各种变量char x,char y;int n;输出move函数,x移动到y;令n=1否是输入n;结束程序:void move(char x,char y) printf(%c-%cn,x,y); hanoi(int n,char A,char B,c

    17、har C) if (n=1)move(A,C); else hanoi(n-1,A,C,B); move(A,C); hanoi(n-1,B,A,C); main() int n; printf(n:); scanf(%d,&n); printf(move%3dn,n); hanoi(n,A,B,C);运行截图:此处附运行图(从计算机屏幕直接截取,首先将运行窗口属性改为白底黑字,然后按prtScn键,在画图中粘贴后剪切所需部分粘贴到此处)程序1程序9题目:设计两个链表,分别输入2个和3个数据,然后连接两个链表,采用搜索的方式找出链表中最大值与最小值。思路:定义变量,建立两个链表,通过文件函数

    18、相连,再通过函数循环,输出结果。开始程序流程图:定义变量str *head,*head1,*head2,*p1,*p2end-next=p1;end=p1;head=p1;end=p1;如果k=0p1=(str*)malloc(sizeof(str);返回 head;k+如果k小于n令k=0定义变量int k; p1-next!=NULL 是 否p1=p1-next; 否 是p1=head2;p2-next=p1;p1-next!=NULL 否 否 是 是 p1=p1-next;p2-next=p1;p2=p1;令p1=head;Min=p1num;Max=p1-num;p1-nummaxp1

    19、-numnext;printf(max=%d,min=%dn,max,min);p1-numnummax把p1-next赋值给p1;否p1-next!=NULL 是否 是将min赋为p1-num;否输出,max,min;是结束 将max赋为p1-num; 程序:#include stdio.h#include #define str struct stdstr int num; str *next; str *fun(int n) int k; str *p1,*end,*head; printf(shu ju:n); for(k=0;knum); p1-next=NULL; if(k=0)

    20、head=p1;end=p1; else end-next=p1;end=p1; return(head); main() str *head,*head1,*head2,*p1,*p2; int n,max,min; head1=fun(2); head2=fun(3); p1=head1;head=head1;p2=head; while(p1-next!=NULL) p1=p1-next; p2-next=p1;p2=p1; p1=head2;p2-next=p1; while(p1-next!=NULL) p1=p1-next;p2-next=p1;p2=p1; p1=head; ma

    21、x=min=p1-num; while(p1-next!=NULL) p1=p1-next; if(p1-numnum; if(p1-nummax) max=p1-num; printf(max=%d,min=%dn,max,min);运行截图:此处附运行图(从计算机屏幕直接截取,首先将运行窗口属性改为白底黑字,然后按prtScn键,在画图中粘贴后剪切所需部分粘贴到此处)程序1程序10题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第

    22、三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?思路:定义循环变量,从最少来看,最后的猴子分桃时桃数应为6,且为上一次的数减一后的五分之一,递归循环后,输出结果。程序流程图:开始 结束break 跳出;输出s;s+;将flag赋为1;flagx=4*(x-1)/5; flag=0; i+;若flag&i=5将x赋为s,i赋为1flag将s赋为6;定义各种变量ints,i,x,flag=1; 否 是 否 是 否 是程序:#include stdio.hmain( ) int s,i,x,flag=1; for(s=6;flag;s+) for(x=s,i=1;flag&i=5;i+) if(x-1)%5=0) x=4*(x-1)/5; else flag=0; if(flag) break; else flag=1; printf(%dn, s);运行截图:此处附运行图(从计算机屏幕直接截取,首先将运行窗口属性改为白底黑字,然后按prtScn键,在画图中粘贴后剪切所需部分粘贴到此处)计算机程序设计训练评分表


    注意事项

    本文(C程序设计报告.doc)为本站会员(星星)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922