版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、生命科學學院C語言大作業(yè)報告 (20142015學年第 二學期)報告題目:C語言功能庫 姓 名:_魏嘉呈 _ 專 業(yè): 生物科學類 年級班級:_1403班_ _ 指導教師:_晁 曉 菲 完成日期:_6月20日_目錄一、 大作業(yè)的目的和要求3二、 大作業(yè)任務內(nèi)容3三、總體設計.4四.程序代碼.6五主要用到的函數(shù).19六程序調(diào)試及調(diào)試結(jié)果.21七.綜合訓練心得體會.24一、大作業(yè)的目的和要求大作業(yè)訓練是重要的實踐性環(huán)節(jié)之一,是在學生學習完程序設計語言(C)課程后進行的一次全面的綜合練習。本課綜合訓練的目的和任務:1. 鞏固和加深學生對C語言、數(shù)據(jù)結(jié)構(gòu)課程的基本知識的理解和掌握2. 掌握C語言編程和
2、程序調(diào)試的基本技能3. 利用C語言進行基本的軟件設計4. 掌握書寫程序設計說明文檔的能力5. 提高運用C語言、數(shù)據(jù)結(jié)構(gòu)解決實際問題的能力二、 大作業(yè)任務內(nèi)容 1.實驗內(nèi)容C語言功能庫包含C語言程序設計一書的全部章節(jié)的部分經(jīng)典例題和課后練習題。為了幫助大家熟悉C語言程序,了解和使用C語言進行編譯程序,設計這次C語言功能庫,方便同學們在使用時,能快速找到相應的程序,并進行運行。2.實驗特點經(jīng)過這么長的學習C語言程序設計,我們讀過和寫過很多的程序,為了讓我們在復習的過程中更高效的找到老師上課的例題和實驗的題目。我們運用所學的switch-case結(jié)構(gòu)While結(jié)構(gòu),文件,指針,數(shù)組來解決這個問題。定
3、義了八個文件夾,每個文件夾里面有兩個文件,分為例題和實驗題目。通過文件和指針查找,在switch-case結(jié)構(gòu)選擇條件下,用戶輸入不同的數(shù)字輸出想要的程序3.算法設計定義不同的文件夾,通過switch-case結(jié)構(gòu)和文件夾如果匹配就輸出,需要用到指針查找更方便高效。軟件測試方法輸入合法的數(shù)字顯示程序,否則無顯示軟件測試數(shù)據(jù)和結(jié)果輸入2輸出文件夾2再輸入1顯示第二章的例題,如果輸入2,輸出文件夾2再輸入2輸出實驗2。三、總體設計圖1.整體規(guī)劃圖練 習 題例 題章 節(jié)主 函 數(shù)循 環(huán)返回返回圖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、"題目:猜數(shù)游戲:若用戶猜對了,屏幕顯示“*Right*”,然后結(jié)束程序運行");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("題目:最大數(shù)放最后最小數(shù)放最前");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("題目: 排序函數(shù)設計");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("題目:結(jié)構(gòu)
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("題目:判斷正負數(shù)");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("題目:文本文件中字符統(tǒng)計");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;文件函數(shù):#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;封皮函數(shù)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;封皮函數(shù)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;五主要用到的函數(shù)(1)switch-case語句switch的用法是判斷case后面的表達式和switch后面的表達式是否相匹配,一旦case匹配,就會順序執(zhí)行后面的程序代碼,而不管后面的case是否匹配,直到遇見break。嵌套兩層Switch的循環(huán),更加方便找到想要運行的程序。利用Switch,使得循環(huán)結(jié)構(gòu)也更加的清楚明白,整體效果好。(2)文件打開程序1、調(diào)用方式通常為:復制代碼 代碼如下:FILE *fp;fp=fopen(文件名, 打開方式);2、參數(shù)說明: 文件名: 形如"myfile.dat&quo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人機動車抵押借款合同2024樣式版B版
- 2025年度新能源車輛設備租賃服務合同范本4篇
- 二零二五版新能源電站安全生產(chǎn)運營服務合同3篇
- 二零二五年度文化演出擔保期限與票務銷售協(xié)議4篇
- 二零二五年阿里巴巴電商店鋪全面托管與運營合同范本3篇
- 2025年度園林景觀樹木養(yǎng)護管理合同協(xié)議4篇
- 科技企業(yè)中的精細化飼料管理模式構(gòu)建
- 2025版美食廣場食品安全責任書4篇
- 2025年度磁性材料環(huán)保認證與采購合同3篇
- 二零二五版拆房工程噪音污染防治合同3篇
- (二統(tǒng))大理州2025屆高中畢業(yè)生第二次復習統(tǒng)一檢測 物理試卷(含答案)
- 口腔執(zhí)業(yè)醫(yī)師定期考核試題(資料)帶答案
- 2024人教版高中英語語境記單詞【語境記單詞】新人教版 選擇性必修第2冊
- 能源管理總結(jié)報告
- 充電樁巡查記錄表
- 阻燃材料的阻燃機理建模
- CJT 511-2017 鑄鐵檢查井蓋
- 配電工作組配電網(wǎng)集中型饋線自動化技術(shù)規(guī)范編制說明
- 2024高考物理全國乙卷押題含解析
- 介入科圍手術(shù)期護理
- 青光眼術(shù)后護理課件
評論
0/150
提交評論