版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、生命科学学院C语言大作业报告 (20142015学年第 二学期)报告题目:C语言功能库 姓 名:_魏嘉呈 _ 专 业: 生物科学类 年级班级:_1403班_ _ 指导教师:_晁 晓 菲 完成日期:_6月20日_目录一、 大作业的目的和要求3二、 大作业任务内容3三、总体设计.4四.程序代码.6五主要用到的函数.19六程序调试及调试结果.21七.综合训练心得体会.24一、大作业的目的和要求大作业训练是重要的实践性环节之一,是在学生学习完程序设计语言(C)课程后进行的一次全面的综合练习。本课综合训练的目的和任务:1. 巩固和加深学生对C语言、数据结构课程的基本知识的理解和掌握2. 掌握C语言编程和
2、程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言、数据结构解决实际问题的能力二、 大作业任务内容 1.实验内容C语言功能库包含C语言程序设计一书的全部章节的部分经典例题和课后练习题。为了帮助大家熟悉C语言程序,了解和使用C语言进行编译程序,设计这次C语言功能库,方便同学们在使用时,能快速找到相应的程序,并进行运行。2.实验特点经过这么长的学习C语言程序设计,我们读过和写过很多的程序,为了让我们在复习的过程中更高效的找到老师上课的例题和实验的题目。我们运用所学的switch-case结构While结构,文件,指针,数组来解决这个问题。定
3、义了八个文件夹,每个文件夹里面有两个文件,分为例题和实验题目。通过文件和指针查找,在switch-case结构选择条件下,用户输入不同的数字输出想要的程序3.算法设计定义不同的文件夹,通过switch-case结构和文件夹如果匹配就输出,需要用到指针查找更方便高效。软件测试方法输入合法的数字显示程序,否则无显示软件测试数据和结果输入2输出文件夹2再输入1显示第二章的例题,如果输入2,输出文件夹2再输入2输出实验2。三、总体设计图1.整体规划图练 习 题例 题章 节主 函 数循 环返回返回图2.整体流程图四.程序代码(1)主程序:#include<stdio.h>#include&l
4、t;string.h>#include<stdlib.h>#include"封皮1.h"#include"封皮2.h"#include"wnjian.h"#include"2-1.h"#include"2-2.h"#include"3-1.h"#include"3-2.h"#include"4-1.h"#include"4-2.h"#include"5-1.h"#include&
5、quot;5-2.h"#include"6-1.h"#include"6-2.h"#include"7-1.h"#include"7-2.h"#include"8-1.h"FILE*fi;void main()fengpi1(1);int x;while(1)fengpi2(1);scanf("%d",&x);switch(x)case 1:system("cls");printf("1.例题");printf(&qu
6、ot;2.练习题");int a;scanf("%d",&a);switch (a)case 1:char a100;fi=fopenfun("2-1.txt","r");while (!feof(fi)/ 读文件fgets(a,100,fi); / 屏幕输出printf ("%s", a);fclose(fi);zj21(1);break; case 2:char a100;fi=fopenfun("2-2.txt","r");while (!feof(f
7、i)/ 读文件fgets(a,100,fi); / 屏幕输出printf ("%s", a);fclose(fi);zj22(1);break; break; break;case 2:system("cls");printf("1.例题");printf("2.练习题");int a;scanf("%d",&a);switch(a)case 1:char a100;fi=fopenfun("3-1.txt","r");while (!feof(f
8、i)/ 读文件fgets(a,100,fi); / 屏幕输出printf ("%s", a);fclose(fi);zj31(1);break; case 2:char a100;fi=fopenfun("3-2.txt","r");while (!feof(fi)/ 读文件fgets(a,100,fi); / 屏幕输出printf ("%s", a);fclose(fi);zj32(1); break;break; break;case 3:system("cls");printf("
9、;1.例题");printf("2.练习题");int a;scanf("%d",&a);switch(a)case 1:char a100;fi=fopenfun("4-1.txt","r");while (!feof(fi)/ 读文件fgets(a,100,fi); / 屏幕输出printf ("%s", a);fclose(fi);zj41(1);break; case 2:char a100;fi=fopenfun("4-2.txt","r
10、");while (!feof(fi)/ 读文件fgets(a,100,fi); / 屏幕输出printf ("%s", a);fclose(fi);zj42(1);break; break; break;case 4:system("cls");printf("1.例题");printf("2.练习题");int a;scanf("%d",&a);switch(a)case 1:char a100;fi=fopenfun("5-1.txt","r
11、");while (!feof(fi)/ 读文件fgets(a,100,fi); / 屏幕输出printf ("%s", a);fclose(fi);zj51(1);break; case 2:char a100;fi=fopenfun("5-2.txt","r");while (!feof(fi)/ 读文件fgets(a,100,fi); / 屏幕输出printf ("%s", a);fclose(fi);zj52(1);break; break; break;case 5:system("c
12、ls");printf("1.例题");printf("2.练习题");int a;scanf("%d",&a);switch(a)case 1:char a100;fi=fopenfun("6-1.txt","r");while (!feof(fi)/ 读文件fgets(a,100,fi); / 屏幕输出printf ("%s", a);fclose(fi);zj61(1);break; case 2:char a100;fi=fopenfun("
13、;6-2.txt","r");while (!feof(fi)/ 读文件fgets(a,100,fi); / 屏幕输出printf ("%s", a);fclose(fi);zj62(1);break;break;break;case 6:system("cls");printf("1.例题");printf("2.练习题");int a;scanf("%d",&a);switch(a)case 1:char a100;fi=fopenfun("7
14、-1.txt","r");while (!feof(fi)/ 读文件fgets(a,100,fi); / 屏幕输出printf ("%s", a);fclose(fi);zj71(1);break; case 2:char a100;fi=fopenfun("7-2.txt","r");while (!feof(fi)/ 读文件fgets(a,100,fi); / 屏幕输出printf ("%s", a);fclose(fi);zj72(1);break; break;break;ca
15、se 7:system("cls");printf("1.例题");printf("2.练习题");int a;scanf("%d",&a);switch(a)case 1:char a100;fi=fopenfun("8-1.txt","r");while (!feof(fi)/ 读文件fgets(a,100,fi); / 屏幕输出printf ("%s", a);fclose(fi);zj81(1);break; break;break; pr
16、intf("输入1键返回主界面n");scanf("%d",&x);fengpi2(1); (2)分程序2-1:#include<stdio.h>int zj21(int n);int zj21(int n)printf("题目:逗号运算符及逗号表达式n");int c=5;printf("%d,%d,%dn",c+=c+,c+8,+c);c=5;printf("%dn",(c+=c+,c+8,+c);c=5;printf("%dn",c+=c+,c+8,
17、+c);return 0;2-2:#include <stdio.h>int zj22(int n);int zj22(int n) printf("题目:逻辑表达式的计算和逻辑表达式的值。n");int a=3,b=4,c=5;printf("答案:%dn",3*(a+b)>c&&a+|c!=0&&!EOF);printf("n");return 0;3-1:#include <stdio.h>int zj31(int n);int zj31(int n) printf(
18、"题目:猜数游戏:若用户猜对了,屏幕显示“*Right*”,然后结束程序运行");int magic=123; int guess; printf("Enter your guess:"); scanf("%d",&guess); if (guess=magic) printf("*Right*n"); return 0;3-2:#include <math.h>#include <stdio.h>int zj32(int n);int zj32(int n) printf(&quo
19、t;题目:请编制程序计算e的近似值,要求被舍弃的首项|1/m|<0.000001");int m=1; float e=0,t=1.0; while (fabs(t)>=1E-6) e=e+t; t=t/m; m+; printf("e=%fn",e); return 0; 4-1:#include<stdio.h>int zj41(int n);int zj41(int n) printf("题目:输出杨辉三角");int i,j,N; int a8080; scanf("%d",&N);f
20、or(i=0; i<N; i+) aii = 1; ai0 = 1; for(i=2; i<N; i+) for(j=1; j<i; j+) aij = ai-1j-1+ai-1j; for(i=0; i<N; i+) for(j=0; j<=i; j+) printf("%d ",aij); printf("n");return 0;4-2:#include <stdio.h>#include <stdlib.h>#include <string.h>int zj42(int n);in
21、t zj42(int n)printf("题目:从键盘上输入10个学生姓名并按升序排序后输出");char a1020,t20; int i,j; for(i=0;i<10;i+) printf("请输入第%d个学生姓名:",i+1); gets(ai); for(i=0;i<10;i+) printf("第%d个学生姓名是:%sn",i+1,ai); for(i=0;i<9;i+) for(j=i+1;j<10;j+) if(strcmp(ai,aj)>0) strcpy(t,ai); strcpy(a
22、i,aj); strcpy(aj,t); for(i=0;i<10;i+) printf("第%d个学生姓名是:%sn",i+1,ai); return 0;5-1:#include<stdio.h>#define N 10int zj51(int n);int zj51(int n)printf("题目:指针排序");int aN,i,j,*p=a,t;for(i=0;i<N;i+)scanf("%d",&pi);for(i=0;i<N-1;i+)for(j=0;j<N-i-1;j+)if
23、(pj>pj+1)t=pj,pj=pj+1,pj+1=t;for(i=0;i<N-1;i+)printf("%d ",*(p+i);printf("%dn",pN-1);return 0;5-2:include<stdio.h>#define N 10int zj52(int n);int zj52(int n)printf("题目:最大数放最后最小数放最前");int aN,i,*p=a,t,max=N-1,min=0;for(i=0;i<N;i+)scanf("%d",(p+i);
24、for(i=0;i<N;i+)if(*(p+i)<pmin)min=i;if(*(p+i)>pmax)max=i;if(min!=0)t=*(p+min);pmin=p0;p0=t; if(max!=N-1)t=*(p+max);pmax=pN-1;pN-1=t;if(min=N-1&&max=0)t=pN-1;pN-1=p0;p0=t;for(i=0;i<N;i+)printf("%d ",*(p+i);return 0;6-1:#include<stdio.h>void px(int *p,int n)int i,j,
25、t;for(i=0;i<n-1;i+)for(j=i+1;j<n;j+)if(pi<pj)t=pi;pi=pj;pj=t;int zj61(int n);int zj61(int n)printf("题目: 排序函数设计");int a80,i,m;scanf("%d",&m); for(i=0;i<m;i+)scanf("%d",&ai);px(a,m);for(i=0;i<m;i+)printf("%d ",ai);return 0;6-2:#include <
26、;stdio.h>float myabs(float x);int zj62(int n);int zj62(int n)float x=-7;printf("%gn",myabs(x);return 0;float myabs(float x)if(x<0) return -x;else return x;7-1:#include<stdio.h>struct stchar name20;char id20;int age;float money;x;int zj71(int n);int zj71(int n)printf("题目:结构
27、体的定义与引用");gets();gets(x.id);scanf("%d%f",&x.age,&x.money);puts();puts(x.id);printf("%dn%.2fn",x.age,x.money);return 0;7-2:#include<stdio.h>int zj72(int n);int zj72(int n)printf("题目:判断正负数");int a,b=0x8000;scanf("%x",&a);if(a&a
28、mp;b)=0)printf("is positive numbern");elseprintf("is negative numbern");return 0;8-1:#include<stdlib.h>int zj81(int n);int zj81(int n) printf("题目:文本文件中字符统计");char ch, filename200; int count = 0; FILE *fp; /* 定义文件指针 */ scanf("%s", filename);/输入文本文件名 if(fp
29、=fopen(filename,"r")=NULL) printf("File open error!n"); exit(1); while(ch=fgetc(fp)!=EOF) count+; printf("%dn",count); if(fclose(fp) printf("File close error!n"); exit(1); return 0;文件函数:#include<stdio.h>#include<string.h>FILE *fopenfun(char*file,ch
30、ar*model);FILE *fopenfun(char*file,char*model)FILE*fp;if(fp=fopen(file,model)=NULL)printf("Cannot open file of %s.n",file);exit(0);else return fp;封皮函数1:#include<stdio.h>int fengpi1( int n);int fengpi1( int n)printf("n");printf("n");printf("制作人n");printf(
31、" *n");printf("n");printf(" 1403 魏嘉呈nn");printf("nn");printf(" 1403 崔国栋nn");printf("nn");printf(" 1403 杨建军nn");printf("nn");printf(" 1403 李巧艳nn");printf("nn");printf(" 1403 黄珍珍nn");printf(&q
32、uot;n"); printf(" *nn");int i;scanf("%d",&i);return 0;封皮函数2:#include<stdio.h>int fengpi2( int n);int fengpi2( int n)printf(" *n");printf("n");printf(" 1.第二章nn");printf("n");printf(" 2.第三章nn");printf("n");p
33、rintf(" 3.第四章nn");printf("n");printf(" 4.第五章nn");printf("n");printf(" 5.第六章nn");printf("n");printf(" 6.第七章nn");printf("n");printf(" 7.第八章nn");printf("n"); printf(" *n");return 0;五主要用到的函数(1)switch-case语句switch的用法是判断case后面的表达式和switch后面的表达式是否相匹配,一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。嵌套两层Switch的循环,更加方便找到想要运行的程序。利用Switch,使得循环结构也更加的清楚明白,整体效果好。(2)文件打开程序1、调用方式通常为:复制代码 代码如下:FILE *fp;fp=fopen(文件名, 打开方式);2、参数说明: 文件名: 形如"myfile.dat&quo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四年级数学(简便运算)计算题专项练习与答案
- 联合企业激励协议书(2篇)
- 癌症康复课件教学课件
- 南京航空航天大学《电机学》2021-2022学年期末试卷
- 南京工业大学浦江学院《信息交互设计》2022-2023学年第一学期期末试卷
- 南京工业大学浦江学院《设计原理与设计管理》2021-2022学年第一学期期末试卷
- 分数的产生和意义说课稿
- 蹲踞式跳远示范说课稿
- 银凯工业园孵化产业园一区二期工程施工组织设计
- 《夏天的雷雨》的说课稿
- (高清版)TDT 1062-2021 社区生活圈规划技术指南
- 安全生产治本攻坚三年行动方案(2024-2026年)解读
- T-GDWJ 020-2023 医疗机构医疗护理员服务规范
- 子宫内低氧症护理措施
- 中国健康生活方式预防心血管代谢疾病指南
- 跨境电子商务平台的数据治理策略
- 2024教师行业分析
- 安徽省宿州市省、市示范高中20232024学年高二上学期期中教学质量检测语文试题(解析)
- 幼儿教师职业礼仪中职全套教学课件
- 创业培训-SYB推广介绍课件
- 血栓预防宣教
评论
0/150
提交评论