第一篇:實(shí)驗(yàn)1 C語(yǔ)言的運(yùn)行環(huán)境和運(yùn)行過(guò)程#完成
C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn) 廣州航海學(xué)院信息與通信工程學(xué)院
實(shí)驗(yàn)一
C語(yǔ)言的運(yùn)行環(huán)境和運(yùn)行過(guò)程
班級(jí) 電信132
學(xué)號(hào) 201315100221 姓名
林青輝
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握c程序設(shè)計(jì)編程環(huán)境visual c++,掌握運(yùn)行一個(gè)c程序設(shè)計(jì)的基本步驟,包括編輯、編譯、連接和運(yùn)行。
2、掌握c語(yǔ)言程序設(shè)計(jì)的基本框架,能夠編寫簡(jiǎn)單的c程序。
3、了解程序調(diào)試的思想,能找出并改正c程序中的語(yǔ)法錯(cuò)誤。
二、實(shí)驗(yàn)內(nèi)容
1、在“我的電腦”上新建一個(gè)文件夾,用于存放c程序,文件夾名字可以是學(xué)號(hào)姓名。
2、調(diào)試示例,在屏幕上顯示一個(gè)短句“Hello World!”。源程序
#include
Hello World!基本步驟:(要求熟練掌握)(1)啟動(dòng)VC++ “開(kāi)始”->“程序”->“Microsoft Visual Studio 6.0”->“Microsoft Visual C++6.0”進(jìn)入VC++編程環(huán)境。
(2)新建文件(*.cpp)“文件”->“新建”,單擊“文件”選項(xiàng)卡,選擇“C++Source Files”,修改文件保存“目錄”和“文件”(文件名),單擊“確定”。
(3)編輯和保存(注意:源程序一定要在英文狀態(tài)下輸入,即字符標(biāo)點(diǎn)都要在半角狀態(tài)下,同時(shí)注意大小寫,一般都用小寫)
在編輯窗口輸入源程序,然后執(zhí)行“文件”->“保存”或“文件”->“另存為”(4)編譯(*.obj)
用來(lái)檢查語(yǔ)法錯(cuò)誤
“編譯”->“編譯”或Ctrl+F7,在產(chǎn)生的工作區(qū)隊(duì)話框中,選擇“是”。(5)連接(*.exe)“編譯”->“構(gòu)件”或F7(6)運(yùn)行
“編譯”->“執(zhí)行”或Ctrl+F5(7)關(guān)閉程序工作區(qū) “文件”->“關(guān)閉工作區(qū)”(8)打開(kāi)文件 “文件”->“打開(kāi)”
(9)查看C源文件、目標(biāo)文件和可執(zhí)行文件的存放位置。C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn) 廣州航海學(xué)院信息與通信工程學(xué)院
源文件在保存目錄下,目標(biāo)文件和可執(zhí)行文件在“保存目錄Debug”中
3、編程,在屏幕上顯示一個(gè)短句“this is my first c program.”。
4、調(diào)試示例,在屏幕上顯示一個(gè)短句“welcome to you!”?!?源程序(有錯(cuò)誤的程序)#include
(1)按照實(shí)驗(yàn)2中介紹的步驟1)~3)輸入上述源程序并保存。(2)編譯,“編譯”->“編譯”(Ctrl+F7),信息窗口中顯示編譯出錯(cuò)信息,如下圖所示。(3)找出錯(cuò)誤,在信息窗口中依次雙擊出錯(cuò)信息,編輯窗口就會(huì)出現(xiàn)一個(gè)箭頭指向程序出錯(cuò)的位置,一般在箭頭的當(dāng)前行或上一行,可以找到出錯(cuò)語(yǔ)句。
第4行,出錯(cuò)信息:Welcome是一個(gè)未定義的變量,但Welcome并不是變量,出錯(cuò)的原因是Welcome前少了一個(gè)雙引號(hào)。
(4)改正錯(cuò)誤,重新編譯,得下如下圖所示出錯(cuò)信息。C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn) 廣州航海學(xué)院信息與通信工程學(xué)院
出錯(cuò)信息:“}”前少了分號(hào)。
(5)再次改正錯(cuò)誤,在“}”前即printf()后加上“;”(英文狀態(tài)),生新編譯,顯示正確(6)連接,“編譯”->“構(gòu)件”(F7),出現(xiàn)如下出錯(cuò)信息。
出錯(cuò)信息:缺少主函數(shù)。
(7)改正錯(cuò)誤,即把“mian”改為“main”后,重新連接,信息窗口顯示連接正確。(8)運(yùn)行,“編譯”->“執(zhí)行”(Ctrl+F5),觀察結(jié)果是否與要求一致。
5、改錯(cuò),改正下列程序中的錯(cuò)誤,在屏幕上顯示以下3行信息。**************** Welcome **************** C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn) 廣州航海學(xué)院信息與通信工程學(xué)院
源程序(有錯(cuò)誤的程序)#include
Printf(“
Welcome”)
Printf(“****************n”);} 正確為:
#include
printf(“****************n”);
printf(“
Welcomen”);
printf(“****************n”);}
三、實(shí)驗(yàn)報(bào)告要求
將以上各題的源程序、運(yùn)行結(jié)果,以及實(shí)驗(yàn)中遇到的問(wèn)題和解決問(wèn)題的方法,以及實(shí)驗(yàn)過(guò)程中的心得體會(huì),寫在實(shí)驗(yàn)報(bào)告上。
答:上機(jī)感覺(jué)還行吧,C語(yǔ)言其實(shí)挺有趣的!
第二篇:實(shí)驗(yàn)一 C語(yǔ)言的運(yùn)行環(huán)境和運(yùn)行過(guò)程
實(shí)驗(yàn)一 C語(yǔ)言的運(yùn)行環(huán)境和運(yùn)行過(guò)程
實(shí)驗(yàn)?zāi)康模?/p>
1.掌握c程序設(shè)計(jì)編程環(huán)境visual c++,掌握運(yùn)行一個(gè)c程序設(shè)計(jì)的基本步驟,包括編輯、編譯、連接和運(yùn)行。
2.掌握c語(yǔ)言程序設(shè)計(jì)的基本框架,能夠編寫簡(jiǎn)單的c程序。3.了解程序調(diào)試的思想,能找出并改正c程序中的語(yǔ)法錯(cuò)誤。實(shí)驗(yàn)內(nèi)容:
1.在“我的電腦”上新建一個(gè)文件夾,用于存放c程序,文件夾名字可以是學(xué)號(hào)姓名。
2.調(diào)試示例,在屏幕上顯示一個(gè)短句“Hello World!”。源程序 #include
“文件”->“新建”,單擊“文件”選項(xiàng)卡,選擇“C++Source Files”,修改文件保存“目錄”和“文件”(文件名),單擊“確定”。
3)編輯和保存(注意:源程序一定要在英文狀態(tài)下輸入,即字符標(biāo)點(diǎn)都要在半角狀態(tài)下,同時(shí)注意大小寫,一般都用小寫)在編輯窗口輸入源程序,然后執(zhí)行“文件”->“保存”或“文件”->“另存為”
4)編譯(*.obj)
用來(lái)檢查語(yǔ)法錯(cuò)誤
“編譯”->“編譯”或Ctrl+F7,在產(chǎn)生的工作區(qū)隊(duì)話框中,選擇“是”。5)連接(*.exe)“編譯”->“構(gòu)件”或F7 6)運(yùn)行
“編譯”->“執(zhí)行”或Ctrl+F5 7)關(guān)閉程序工作區(qū) “文件”->“關(guān)閉工作區(qū)” 8)打開(kāi)文件 “文件”->“打開(kāi)”
9)查看C源文件、目標(biāo)文件和可執(zhí)行文件的存放位置。源文件在保存目錄下,目標(biāo)文件和可執(zhí)行文件在“保存目錄Debug”中
3.編程,在屏幕上顯示一個(gè)短句“this is my first c program.”。4.調(diào)試示例,在屏幕上顯示一個(gè)短句“welcome to you!”。源程序(有錯(cuò)誤的程序)#include
1)按照實(shí)驗(yàn)2中介紹的步驟1)~3)輸入上述源程序并保存。2)編譯,“編譯”->“編譯”(Ctrl+F7),信息窗口中顯示編譯出錯(cuò)信息,如下圖所示。
3)找出錯(cuò)誤,在信息窗口中依次雙擊出錯(cuò)信息,編輯窗口就會(huì)出現(xiàn)一個(gè)箭頭指向程序出錯(cuò)的位置,一般在箭頭的當(dāng)前行或上一行,可以找到出錯(cuò)語(yǔ)句。printf(Welcome to You!n”)
第4行,出錯(cuò)信息:Welcome是一個(gè)未定義的變量,但Welcome并不是變量,出錯(cuò)的原因是Welcome前少了一個(gè)雙引號(hào)。4)改正錯(cuò)誤,重新編譯,得下如下圖所示出錯(cuò)信息。
出錯(cuò)信息:“}”前少了分號(hào)。
5)再次改正錯(cuò)誤,在“}”前即printf()后加上“;”(英文狀態(tài)),生新編譯,顯示正確
6)連接,“編譯”->“構(gòu)件”(F7),出現(xiàn)如下出錯(cuò)信息。
出錯(cuò)信息:缺少主函數(shù)。
7)改正錯(cuò)誤,即把“mian”改為“main”后,重新連接,信息窗口顯示連接正確。
8)運(yùn)行,“編譯”->“執(zhí)行”(Ctrl+F5),觀察結(jié)果是否與要求一致。5.改錯(cuò),改正下列程序中的錯(cuò)誤,在屏幕上顯示以下3行信息。**************** Welcome **************** 源程序(有錯(cuò)誤的程序)#include
}
#include
實(shí)驗(yàn)報(bào)告要求
將以上各題的源程序、運(yùn)行結(jié)果,以及實(shí)驗(yàn)中遇到的問(wèn)題和解決問(wèn)題的方法,以及實(shí)驗(yàn)過(guò)程中的心得體會(huì),寫在實(shí)驗(yàn)報(bào)告上。源程序
1、#include
Welcome”)Printf(“****************n”);{ }
2、源程序 printf(“Hello World!n”);
#include
3、源程序(有錯(cuò)誤的程序)printf(“this is my first c program.n”);
#include
#include
第三篇:實(shí)驗(yàn)一 C語(yǔ)言的運(yùn)行環(huán)境和運(yùn)行過(guò)程
實(shí)驗(yàn)一C語(yǔ)言的運(yùn)行環(huán)境和運(yùn)行過(guò)程
(一)實(shí)驗(yàn)?zāi)康?.了解Dos、Windows環(huán)境下C語(yǔ)言的運(yùn)行環(huán)境,了解所用的計(jì)算機(jī)系統(tǒng)的基本操作方法,學(xué)會(huì)獨(dú)立使用該系統(tǒng)。
2.了解在該系統(tǒng)上如何編輯、編譯、連接和運(yùn)行一個(gè)C程序。
3.通過(guò)運(yùn)行簡(jiǎn)單的C程序,初步了解C源程序的特點(diǎn)。
(二)實(shí)驗(yàn)項(xiàng)目?jī)?nèi)容
1.輸入并運(yùn)行例題中程序,熟悉調(diào)試C程序的的方法與步驟。
2.寫出一個(gè)C程序的構(gòu)成。
3.參照例題,編寫一個(gè)C程序,輸出以下信息:
****************************
Hello,World!
****************************
4.編寫一個(gè)C程序,輸入a、b、c三個(gè)數(shù),輸出其中最大者。試想,如果求四個(gè)數(shù)中的最大者,則程序該如何編寫。
(三)主要儀器設(shè)備
微機(jī)
(四)實(shí)驗(yàn)室名稱
公共計(jì)算機(jī)實(shí)驗(yàn)室
(五)實(shí)驗(yàn)報(bào)告撰寫
1、實(shí)驗(yàn)報(bào)告要用統(tǒng)一的實(shí)驗(yàn)報(bào)告紙撰寫。
2、實(shí)驗(yàn)報(bào)告內(nèi)容應(yīng)包括實(shí)驗(yàn)?zāi)康?、流程圖、源代碼、實(shí)驗(yàn)結(jié)果與分析等內(nèi)容。# include
void main()
{
printf(“****************************Hello,World****************************n”);}
第四篇:C語(yǔ)言課程設(shè)計(jì)(優(yōu)質(zhì)作業(yè)含運(yùn)行截圖)
大連交通大學(xué) 軟件學(xué)院
C語(yǔ)言課程設(shè)計(jì)報(bào)告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
C語(yǔ)言課程設(shè)計(jì)報(bào)告
Experiment Designing reporter
課程名稱 : C語(yǔ)言課程設(shè)計(jì)
英文名稱 : C Program Experiment Designing
專 業(yè) :工商管理類+軟件工程095
學(xué) 號(hào) :09********
姓 名 :@噠winci
指導(dǎo)教師 :陳**
日 期 : 2010年 7月12日至2010年7月22日
大連交通大學(xué)軟件學(xué)院
大連交通大學(xué) 軟件學(xué)院
C語(yǔ)言課程設(shè)計(jì)報(bào)告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
《C語(yǔ)言課程設(shè)計(jì)》報(bào)告
C Program Experiment Designing
課程編號(hào):01200308005
學(xué)時(shí): 40學(xué)時(shí) 適用專業(yè):軟件工程專業(yè) 授課單位:軟件學(xué)院
一、C語(yǔ)言課程設(shè)計(jì)目的及要求
目的:
根據(jù)課堂講授內(nèi)容,學(xué)生做相應(yīng)的自主練習(xí),消化課堂所講解的內(nèi)容;通過(guò)調(diào)試典型例題或習(xí)題積累調(diào)試C程序的經(jīng)驗(yàn);通過(guò)完成輔導(dǎo)教材中的編程題,逐漸培養(yǎng)學(xué)生的編程能力、用計(jì)算機(jī)解決實(shí)際問(wèn)題的能力。
要求:
1. 熟悉Turbo C 的編程環(huán)境、主要菜單功能。
2. 通過(guò)上機(jī)驗(yàn)證運(yùn)算符、表達(dá)式、運(yùn)算規(guī)則、函數(shù)使用。3. 熟練使用C語(yǔ)言的典型語(yǔ)句編寫簡(jiǎn)單程序。4. 調(diào)試典型例題或習(xí)題。5. 提高上機(jī)編程能力
二、實(shí)驗(yàn)類型
設(shè)計(jì)類型
三、實(shí)驗(yàn)學(xué)時(shí)
40學(xué)時(shí)
四、實(shí)驗(yàn)設(shè)備
微型計(jì)算機(jī)、WINDOWS98以上版本的操作系統(tǒng)、Turbo C2.0 軟件一套
五、C語(yǔ)言課程參考教材:
1.C語(yǔ)言程序設(shè)計(jì) 清華大學(xué)出版社 馬靖善主編
2.譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)(第三版).北京:高等教育出版社,2002 大連交通大學(xué) 軟件學(xué)院
C語(yǔ)言課程設(shè)計(jì)報(bào)告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
課程設(shè)計(jì)(報(bào)告)任務(wù)書(shū)
任務(wù)及要求:
1.設(shè)計(jì)(研究)內(nèi)容和要求 研究?jī)?nèi)容:
(1).歌星大賽打分系統(tǒng)(2).五個(gè)國(guó)家名排序(3).謎語(yǔ)博士的難題(4).哪個(gè)大夫哪天值班(5).分辨黑與白(6)學(xué)生成績(jī)查詢系統(tǒng) 任務(wù)和要求:
(1).學(xué)習(xí)C語(yǔ)言基礎(chǔ)知識(shí),掌握C語(yǔ)言編程和程序調(diào)試的基本技能。(2).對(duì)指導(dǎo)教師下達(dá)的題目進(jìn)行系統(tǒng)分析。(3).根據(jù)分析結(jié)果完成系統(tǒng)設(shè)計(jì)。
(4).編程:在計(jì)算機(jī)上實(shí)現(xiàn)題目的代碼實(shí)現(xiàn)。(5).完成對(duì)該系統(tǒng)的測(cè)試和調(diào)試。(6).提交課程設(shè)計(jì)報(bào)告。(7).指標(biāo): 要求完成課程設(shè)計(jì)報(bào)告3千字以上(約二、三十頁(yè)).完成若干綜合性程序設(shè)計(jì)題目,每個(gè)綜合設(shè)計(jì)題目的語(yǔ)句行數(shù)的和在300行語(yǔ)句以上.2.原始依據(jù)
了解C語(yǔ)言的基礎(chǔ)知識(shí),有一定的語(yǔ)言編程基礎(chǔ),能夠熟練運(yùn)用C語(yǔ)言進(jìn)行程序設(shè)計(jì)。通過(guò)用C語(yǔ)言完成的題目,提高用C語(yǔ)言解決實(shí)際問(wèn)題的能力。3.參考文獻(xiàn)
[1] 黃明等.C語(yǔ)言程序設(shè)計(jì)輔導(dǎo)教材.大連理工大學(xué)出版社,2006 [2] 馬靖善等.C語(yǔ)言程序設(shè)計(jì).清華大學(xué)出版社,2005
大連交通大學(xué) 軟件學(xué)院
C語(yǔ)言課程設(shè)計(jì)報(bào)告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
[3] 譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)(第二版).北京:高等教育出版社,2002
2010年7月20日 大連交通大學(xué) 軟件學(xué)院
C語(yǔ)言課程設(shè)計(jì)報(bào)告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
目錄
錯(cuò)誤!未定義書(shū)簽。歌星大賽打分系統(tǒng)
1.1 功能說(shuō)明............................................................................錯(cuò)誤!未定義書(shū)簽。1.2 設(shè)計(jì)說(shuō)明............................................................................錯(cuò)誤!未定義書(shū)簽。1.3 程序運(yùn)行截圖....................................................................錯(cuò)誤!未定義書(shū)簽。1.4源程序代碼.........................................................................錯(cuò)誤!未定義書(shū)簽。2五個(gè)國(guó)家名排序............................................................................錯(cuò)誤!未定義書(shū)簽。
2.1 功能說(shuō)明............................................................................錯(cuò)誤!未定義書(shū)簽。2.2 設(shè)計(jì)說(shuō)明............................................................................錯(cuò)誤!未定義書(shū)簽。2.3 程序運(yùn)行截圖....................................................................錯(cuò)誤!未定義書(shū)簽。2.4 源程序代碼........................................................................錯(cuò)誤!未定義書(shū)簽。3謎語(yǔ)博士的難題............................................................................錯(cuò)誤!未定義書(shū)簽。
3.1 功能說(shuō)明............................................................................錯(cuò)誤!未定義書(shū)簽。3.2 設(shè)計(jì)說(shuō)明............................................................................錯(cuò)誤!未定義書(shū)簽。3.3 程序運(yùn)行截圖....................................................................錯(cuò)誤!未定義書(shū)簽。3.4 源程序代碼........................................................................錯(cuò)誤!未定義書(shū)簽。4哪個(gè)大夫哪天值班........................................................................錯(cuò)誤!未定義書(shū)簽。
4.1 功能說(shuō)明............................................................................錯(cuò)誤!未定義書(shū)簽。4.2 設(shè)計(jì)說(shuō)明………………………………………………………………………...4.3 程序運(yùn)行截圖....................................................................錯(cuò)誤!未定義書(shū)簽。4.4 源程序代碼........................................................................錯(cuò)誤!未定義書(shū)簽。5分辨黑與白....................................................................................錯(cuò)誤!未定義書(shū)簽。
5.1 功能說(shuō)明............................................................................錯(cuò)誤!未定義書(shū)簽。5.2 設(shè)計(jì)說(shuō)明............................................................................錯(cuò)誤!未定義書(shū)簽。5.3 程序運(yùn)行截圖....................................................................錯(cuò)誤!未定義書(shū)簽。5.4 源程序代碼........................................................................錯(cuò)誤!未定義書(shū)簽。6學(xué)生成績(jī)查詢系統(tǒng)
6.1 功能說(shuō)明............................................................................錯(cuò)誤!未定義書(shū)簽。6.2 設(shè)計(jì)說(shuō)明............................................................................錯(cuò)誤!未定義書(shū)簽。6.3 程序運(yùn)行截圖....................................................................錯(cuò)誤!未定義書(shū)簽。6.4 源程序代碼........................................................................錯(cuò)誤!未定義書(shū)簽。
大連交通大學(xué) 軟件學(xué)院
C語(yǔ)言課程設(shè)計(jì)報(bào)告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING 歌星大賽打分系統(tǒng)
1.1功能說(shuō)明
在歌星大獎(jiǎng)賽中,有10個(gè)評(píng)委為參賽的選手打分,分?jǐn)?shù)為1-100分。選手最后得分為:去掉一個(gè)最高分和一個(gè)最低分后其余8個(gè)分?jǐn)?shù)的平均值。編寫程序?qū)崿F(xiàn)。
1.2 設(shè)計(jì)說(shuō)明
從鍵盤上輸入評(píng)委的打分,用for循環(huán)結(jié)構(gòu)求出分?jǐn)?shù)中的最大值max、最小值min以及所有分?jǐn)?shù)的和sum,最后輸出sum-max-min的值
1.3 程序運(yùn)行截圖
1.4 源程序代碼
#include
大連交通大學(xué) 軟件學(xué)院
C語(yǔ)言課程設(shè)計(jì)報(bào)告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
sum=0;/*將求累加和變量的初值置為0*/ for(i=1;i<=10;i++){ printf(“Input number %d=”,i);scanf(“%d”,&integer);/*輸入評(píng)委的評(píng)分*/ sum+=integer;/*計(jì)算總分*/ if(integer>max)max=integer;/*通過(guò)比較篩選出其中的最高分*/ if(integer 2.1 功能說(shuō)明 輸入5個(gè)國(guó)名并按字母順序排列后輸出。 2.2 設(shè)計(jì)說(shuō)明 主函數(shù)void main(): 從鍵盤上輸入各個(gè)國(guó)家的名字?jǐn)?shù)組cs[5],然后用字符串運(yùn)算符strcpy將數(shù)組cs[5]copy到st[20],再比較兩數(shù)組對(duì)應(yīng)各元素,輸出 大連交通大學(xué) 軟件學(xué)院 C語(yǔ)言課程設(shè)計(jì)報(bào)告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING 2.3 程序運(yùn)行截圖 2.4 源程序代碼 #include char st[20],cs[5][20]; int i,j,p; printf(“input country's name:n”); for(i=0;i<5;i++) gets(cs[i]); printf(“n”); for(i=0;i<5;i++) { p=i;strcpy(st,cs[i]); for(j=i+1;j<5;j++) if(strcmp(cs[j],st)<0)p=j; if(p!=i) { strcpy(st,cs[i]); strcpy(cs[i],cs[p]); strcpy(cs[p],st); } puts(cs[i]); } printf(“n”); getch();} 大連交通大學(xué) 軟件學(xué)院 C語(yǔ)言課程設(shè)計(jì)報(bào)告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING 謎語(yǔ)博士的難題 3.1功能說(shuō)明 兩面族是荒島上的一個(gè)新民族,他們的特點(diǎn)是說(shuō)話真一句假一句且真假交替。如果第一句為真,則第二句是假的;如果第一句為假的,則第二句就是真的,但是第一句是真是假?zèng)]有規(guī)律。 迷語(yǔ)博士遇到三個(gè)人,知道他們分別來(lái)自三個(gè)不同的民族:誠(chéng)實(shí)族、說(shuō)謊族和兩面族。三人并肩站在博士前面。 博士問(wèn)左邊的人:“中間的人是什么族的?”,左邊的人回答:“誠(chéng)實(shí)族的”。 博士問(wèn)中間的人:“你是什么族的?”,中間的人回答:“兩面族的”。 博士問(wèn)右邊的人:“中間的人究竟是什么族的?”,右邊的人回答:“說(shuō)謊族的”。 判斷這三個(gè)人都是哪個(gè)民族的。 3.2設(shè)計(jì)說(shuō)明 變量A=1表示:左邊的人是誠(chéng)實(shí)族的(用C語(yǔ)言表示為A); 變量B=1表示:中間的人是誠(chéng)實(shí)族的(用C語(yǔ)言表示為B); 變量C=1表示:右邊的人是誠(chéng)實(shí)族的(用C語(yǔ)言表示為C); 變量AA=1表示:左邊的人是兩面族的(用C語(yǔ)言表示為AA); 變量BB=1表示:中間的人是兩面族的(用C語(yǔ)言表示為BB); 變量CC=1表示:右邊的人是兩面族的(用C語(yǔ)言表示為CC); 則左邊的人是說(shuō)謊族可以表示為:A!=1且AA!=1(不是誠(chéng)實(shí)族和兩面族的人)用C語(yǔ)言表示為:!A&&!AA 中間的人是說(shuō)謊族可以表示為:B!=1且BB!=1 用C語(yǔ)言表示為:!B&&!BB 右邊的人是說(shuō)謊族可以表示為:C!=0且CC!=1 用C語(yǔ)言表示為:!C&&!CC 根據(jù)題目中“三人來(lái)自三個(gè)民族”的條件,可以列出: a+aa!=2&&b+bb!=2&&c+cc!=2 且 a+b+c==1&&aa+bb+cc==1 根據(jù)左邊人的回答可以推出:若他們是誠(chéng)實(shí)族,則中間的人也是誠(chéng)實(shí)族;若他不是誠(chéng)實(shí)族,則中間的人也不是誠(chéng)實(shí)族。以上條件可以表示為: c&&!b&&!bb||(!c&&!cc)&&(b||bb)||!c&&cc 將全部邏輯條件聯(lián)合在一起,利用窮舉的方法求解,凡是使上述條件同時(shí)成立的變量取值就是題目的答案。 大連交通大學(xué) 軟件學(xué)院 C語(yǔ)言課程設(shè)計(jì)報(bào)告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING 3.3程序運(yùn)行截圖 3.4源程序代碼 #include 大連交通大學(xué) 軟件學(xué)院 C語(yǔ)言課程設(shè)計(jì)報(bào)告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING 哪個(gè)大夫哪天值班 4.1功能說(shuō)明 醫(yī)院有A、B、C、D、E、F、G七位大夫,在一星期內(nèi)(星期一至星期天)每人要輪流值班一天。現(xiàn)在已知: A大夫比C大夫晚一天值班; D大夫比E大夫晚二天值班; B大夫比G大夫早三天值班; F大夫的值班日在B和C大夫的中間,且是星期四; 確定每天究竟是哪位大夫值班。 4.2設(shè)計(jì)說(shuō)明 由題目可推出如下已知條件: F是星期四值班; B值班的日期在星期一至星期三,且三天后是G值班; C值班的日期在星期五至星期六,且一天后是A值班; E兩天后是D值班;E值班的日期只能在星期一至星期三; 在編程時(shí)用數(shù)組元素的下標(biāo)1到7表示星期一到星期天,用數(shù)組元素的值分別表示A-F七位大夫。 4.3程序運(yùn)行截圖 大連交通大學(xué) 軟件學(xué)院 C語(yǔ)言課程設(shè)計(jì)報(bào)告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING 4.4源程序代碼 #include #include int a[8]; char *day[]={“",”MONDAY“,”TUESDAY“,”WED“,”THUSDAY“,”FRIDAY“,”SATDAY“,”SUNDAY“};main() { int i,j,t; a[4]=6; for(i=1;i<=3;i++) { a[i]=2; if(!a[i+3])a[i+3]=7; else{ a[i]=0;continue;} for(t=1;t<=3;t++) { if(!a[t])a[t]=5; else continue; if(!a[t+2])a[t+2]=4; else{ a[t]=0;continue;} for(j=5;j<7;j++) { if(!a[j])a[j]=3; else continue; if(!a[j+1])a[j+1]=1; else{ a[j]=0;continue;} for(i=1;i<=7;i++) printf(”Doctor %d is on duty %s.n“,1+a[i]-1,day[i]); } } } getch();} 分辨黑與白 5.1功能說(shuō)明 有A、B、C、D、E五人,每人額頭上都帖了一張黑或白的紙。五人對(duì)坐,每人都可以看到其它人額頭上的紙的顏色。五人相互觀察后,A說(shuō):“我看見(jiàn)有三人額頭上帖的是白紙,一人額頭上帖的是黑紙?!?/p> 大連交通大學(xué) 軟件學(xué)院 C語(yǔ)言課程設(shè)計(jì)報(bào)告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING B說(shuō):“我看見(jiàn)其它四人額頭上帖的都是黑紙?!?/p> C說(shuō):“我看見(jiàn)一人額頭上帖的是白紙,其它三人額頭上帖的是黑紙?!?D說(shuō):“我看見(jiàn)四人額頭上帖的都是白紙?!?E什么也沒(méi)說(shuō)。 現(xiàn)在已知額頭上帖黑紙的人說(shuō)的都是謊話,額頭帖白紙的人說(shuō)的都是實(shí)話。判斷五人誰(shuí)的額頭是帖白紙,誰(shuí)的額頭是帖黑紙。 5.2設(shè)計(jì)說(shuō)明 假如變量A、B、C、D、E表示每個(gè)人額頭上所帖紙的顏色,0 代表是黑色,1 代表是白色。根據(jù)題目中A、B、C、D四人所說(shuō)的話可以總結(jié)出下列關(guān)系: A說(shuō): a&&b+c+d+e==3||!a&&b+c+d+e!=3 B說(shuō): b&&a+c+d+e==0||!b&&a+c+d+e!=0 C說(shuō): c&&a+b+d+e==1||!c&&a+b+d+e!=1 D說(shuō): d&&a+b+c+e==4||!d&&a+b+c+e!=4 窮舉每個(gè)人額頭所帖紙的顏色的所有可能的情況,代入上述表達(dá)式中進(jìn)行推理運(yùn)算,使上述表達(dá)式為“真”的情況就是正確的結(jié)果。 5.3程序運(yùn)行截圖 5.4源程序代碼 #include 大連交通大學(xué) 軟件學(xué)院 C語(yǔ)言課程設(shè)計(jì)報(bào)告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING for(b=0;b<=1;b++)/*窮舉五個(gè)人額頭帖紙的全部可能*/ for(c=0;c<=1;c++)for(d=0;d<=1;d++)for(e=0;e<=1;e++)if((a&&b+c+d+e==3||!a&&b+c+d+e!=3)&&(b&&a+c+d+e==0||!b&&a+c+d+e!=0)&&(c&&a+b+d+e==1||!c&&a+b+d+e!=1)&&(d&&a+b+c+e==4||!d&&a+b+c+e!=4)){ printf(”A is pasted a piece of %s paper on his forehead.n“, a?”white“:”black“);printf(”B is pasted a piece of %s paper on his forehead.n“, b?”white“:”black“);printf(”C is pasted a piece of %s paper on his forehead.n“, c?”white“:”black“);printf(”D is pasted a piece of %s paper on his forehead.n“, d?”white“:”black“);printf(”E is pasted a piece of %s paper on his forehead.n“, e?”white“:”black“); } getch();} 學(xué)生成績(jī)查詢系統(tǒng) 6.1功能說(shuō)明 查詢修改統(tǒng)計(jì)成績(jī)。 6.2設(shè)計(jì)說(shuō)明 子函數(shù): int SelectMainMenu()顯示并選擇主菜單。返回:被選擇的菜單項(xiàng) void Show()成績(jī)查詢模塊 void Modify() 成績(jī)修改模塊 void Stat() 成績(jī)統(tǒng)計(jì)模塊 void StatAve(float *AveWuLi,float *AveShuXue,float *AveYingYu,float 統(tǒng)計(jì)平均分 int FindStudent(int num) 根據(jù)學(xué)號(hào)查找某一學(xué)生 void SetAllTotle() 計(jì)算所有學(xué)生總分 void SetTotle(int No) 計(jì)算第No個(gè)學(xué)生總分 *AveKuaiJi) 大連交通大學(xué) 軟件學(xué)院 C語(yǔ)言課程設(shè)計(jì)報(bào)告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING void ShowAllStudent() 顯示所有成績(jī) void ShowTitle() 顯示表頭信息 void ShowStudent(int No) 顯示第No個(gè)的學(xué)生信息 主函數(shù)void main(): 運(yùn)用switch語(yǔ)句,調(diào)用各個(gè)子函數(shù)完成學(xué)生成績(jī)的管理 6.3程序運(yùn)行截圖 6.4源程序代碼 #include int num; char name[15]; char sex; float WuLi; float ShuXue; float YingYu; float KuaiJi; float totle;};/*定義6個(gè)學(xué)生的信息:*/ #define STU_NUMBER 6 /*宏定義學(xué)生數(shù)為6*/ struct student Stu[STU_NUMBER]={{101,”yuchen“,'F', 98,85,96,89,0},15 大連交通大學(xué) 軟件學(xué)院 C語(yǔ)言課程設(shè)計(jì)報(bào)告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING {102,”xiaotong“, 'F', 99,91,90,93,0},{103,”likanglong“,'M', 76,83,74,82,0},{104,”yinger“,'F', 88,76,89,77,0},{105,”fengjiao“, 'F', 97,100,94,96,0},{106,”sunyao“,'M', 87,89,66,84,0} };int SelectMainMenu();/*顯示并選擇主菜單。返回:被選擇的菜單項(xiàng)*/ /*所有的函數(shù)聲明:*/ void Show();/*成績(jī)查詢模塊*/ void Modify();/*成績(jī)修改模塊*/ void Stat();/*成績(jī)統(tǒng)計(jì)模塊*/ void StatAve(float *AveWuLi,float *AveShuXue,float *AveYingYu,float *AveKuaiJi);/*統(tǒng)計(jì)平均分*/ int FindStudent(int num);/*根據(jù)學(xué)號(hào)查找某一學(xué)生*/ void SetAllTotle();/*計(jì)算所有學(xué)生總分*/ void SetTotle(int No);/*計(jì)算第No個(gè)學(xué)生總分*/ void ShowAllStudent();/*顯示所有成績(jī)*/ void ShowTitle();/*顯示表頭信息*/ void ShowStudent(int No);/*顯示第No個(gè)的學(xué)生信息*/ void main(){ int isend=0,password=0;/*程序結(jié)束標(biāo)志量,0表示不結(jié)束,1表示結(jié)束*/ SetAllTotle();/*計(jì)算所有學(xué)生總分*/ while(password!=666) {printf(”qing shu ru mi ma:n“); scanf(”%d“,&password); } while(1) { switch(SelectMainMenu())/*顯示并選擇主菜單*/ { case 1: /*成績(jī)查詢*/ Show(); /*調(diào)用成績(jī)查詢函數(shù)*/ break; case 2: /*成績(jī)修改*/ Modify();/*調(diào)用成績(jī)修改函數(shù)*/ break; case 3: /*成績(jī)統(tǒng)計(jì)*/ Stat(); /*調(diào)用成績(jī)統(tǒng)計(jì)函數(shù)*/ break; case 4: /*退出系統(tǒng)*/ printf(”nxie xie nin de shi yong,zai jian!nn“); isend = 1;/*設(shè)置程序結(jié)束標(biāo)志*/ break; } if(isend)break;/*程序結(jié)束*/ 大連交通大學(xué) 軟件學(xué)院 C語(yǔ)言課程設(shè)計(jì)報(bào)告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING } } int SelectMainMenu()/*顯示并選擇主菜單。返回:被選擇的菜單項(xiàng)*/ { int menu_no=0; do /*顯示并選擇菜單*/ { printf(”=================================n“); printf(” printf(” zuo zhe:li yi mann“); printf(”=================================n“); printf(” zhu cai dan:n“); printf(” 1cheng ji xiu gain“); printf(” 3tui chu xi tongn“); printf(” qing xuan ze(1-4):“); scanf(”%d“,&menu_no); }while(menu_no<1 && menu_no>4); /*直到選擇出正確的序號(hào)*/ return menu_no;} void Show()/*成績(jī)查詢模塊*/ { int n,i; while(1) { printf(”n====cheng ji cha xun====n“); printf(”qing shu ru xue hao(shu ru 0 tui chu cheng ji cha xun,shu ru 1 cha xun quan bu):“); scanf(”%d“,&n); if(n==0)break;/*退出成績(jī)查詢模塊*/ if(n==1)ShowAllStudent();/*顯示所有成績(jī)*/ else if((i=FindStudent(n))>=0)/*找到學(xué)號(hào)為n的學(xué)生*/ { ShowTitle();/*顯示表頭信息*/ ShowStudent(i);/*顯示該學(xué)生信息*/ } else printf(”----zhao bu dao gai xue hao----n“); } } void Modify()/*成績(jī)修改模塊*/ { int n,i,a; while(1) { printf(”n====cheng ji xiu gai====n“); printf(”qing shu ru xue hao(shu ru 0 tui chu cheng ji xiu gai):“); 大連交通大學(xué) 軟件學(xué)院 C語(yǔ)言課程設(shè)計(jì)報(bào)告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING scanf(”%d“,&n); if(n==0)break;/*退出成績(jī)修改模塊*/ if((i=FindStudent(n))>=0)/*找到學(xué)號(hào)為n的學(xué)生*/ { ShowTitle();/*顯示表頭信息*/ ShowStudent(i);/*顯示該學(xué)生信息*/ printf(”qing shu ru yao xiu gai de cheng ji:n“);printf(”1 WuLin“);printf(”2 ShuXuen“);printf(”3 YingYun“);printf(”4 KuaiJin“);scanf(”%d“, &a);switch(a){case 1:printf(”qing shu ru WuLi cheng ji:n“); scanf(”%f“, &Stu[i].WuLi);break;case 2:printf(”qing shu ru ShuXue cheng ji:n“); scanf(”%f“, &Stu[i].ShuXue);break;case 3:printf(”qing shu ru YingYu cheng ji:n“); scanf(”%f“, &Stu[i].YingYu);break;case 4:printf(”qing shu ru KuaiJi cheng ji:n“); scanf(”%f“, &Stu[i].KuaiJi);break; default:printf(”shu ru cuo wu“); } SetTotle(i);/*計(jì)算該學(xué)生總分*/ printf(”----xiu gai cheng gong----n“); } else printf(”----zhao bu dao gai xue hao----n“); } } void Stat()/*成績(jī)統(tǒng)計(jì)模塊*/ { float AveWuLi, AveShuXue, AveYingYu, AveKuaiJi; StatAve(&AveWuLi, &AveShuXue, &AveYingYu, &AveKuaiJi);/*統(tǒng)計(jì)四門課的班級(jí)平均分*/ printf(”n====cheng ji tong ji====n“); printf(”xue sheng ren shu:%dn“, STU_NUMBER); printf(”WuLi ping jun fen:%6.2fn“, AveWuLi); printf(”ShuXue ping jun fen:%6.2fn“, AveShuXue); printf(”YingYu ping jun fen:%6.2fn“, AveYingYu); printf(”KuaiJi ping jun fen:%6.2fn“, AveKuaiJi);} /*統(tǒng)計(jì)四門課的班級(jí)平均分,用指針參數(shù)返回*/ void StatAve(float *AveWuLi, float *AveShuXue, float *AveYingYu, float *AveKuaiJi){ 大連交通大學(xué) 軟件學(xué)院 C語(yǔ)言課程設(shè)計(jì)報(bào)告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING int i; float sumWuLi=0, sumShuXue=0, sumYingYu=0, sumKuaiJi=0; for(i=0;i { sumWuLi += Stu[i].WuLi; sumShuXue += Stu[i].ShuXue; sumYingYu += Stu[i].YingYu; sumKuaiJi += Stu[i].KuaiJi; } *AveWuLi = sumWuLi / STU_NUMBER; *AveShuXue = sumShuXue / STU_NUMBER; *AveYingYu = sumYingYu / STU_NUMBER; *AveKuaiJi = sumKuaiJi / STU_NUMBER;} /*根據(jù)學(xué)號(hào)查找某一學(xué)生。返回:-1沒(méi)找到,>=0該學(xué)生所在數(shù)組的下標(biāo)*/ int FindStudent(int num){ int i; for(i=0;i if(Stu[i].num==num)break; if(i else return-1;/*沒(méi)找到*/ } void SetAllTotle()/*計(jì)算所有學(xué)生總分*/ { int i; for(i=0;i SetTotle(i);} void SetTotle(int No)/*計(jì)算第No個(gè)學(xué)生總分*/ { Stu[No].totle = Stu[No].WuLi + Stu[No].ShuXue + Stu[No].YingYu +Stu[No].KuaiJi;} void ShowAllStudent()/*顯示所有成績(jī)*/ { int i; ShowTitle(); for(i=0;i ShowStudent(i);} void ShowTitle()/*顯示表頭信息*/ { printf(”n%12s%12s%12s%10s%10s%10s%10sn“,”xue hao“, ”xing ming“, ”xing bie“,”WuLi“,”ShuXue“,”YingYu“,”KuaiJi“,”Zong Fen“);} 大連交通大學(xué) 軟件學(xué)院 C語(yǔ)言課程設(shè)計(jì)報(bào)告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING void ShowStudent(int No)/*顯示第No個(gè)的學(xué)生信息*/ { printf(”%12d%12s%12c%10g%10g%10g%10gn",Stu[No].num, Stu[No].name, Stu[No].sex, Stu[No].WuLi,Stu[No].ShuXue, Stu[No].YingYu, Stu[No].KuaiJi,Stu[No].totle);} VC++6.0中如何編譯運(yùn)行C語(yǔ)言程序 VC++6.0是Microsoft公司推出的一個(gè)基于Windows系統(tǒng)平臺(tái)、可視化的集成開(kāi)發(fā)環(huán)境,它的源程序按C++語(yǔ)言的要求編寫,并加入了微軟提供的功能強(qiáng)大的MFC(Microsoft Foundation Class)類庫(kù)。具有高度可視化的應(yīng)用程序開(kāi)發(fā)工具,不僅適合大型軟件的開(kāi)發(fā),對(duì)于初學(xué)C語(yǔ)言和C++的朋友來(lái)說(shuō),也是一個(gè)不錯(cuò)的運(yùn)行工具。 接下來(lái)筆者就簡(jiǎn)單介紹一下VC++6.0如何編譯運(yùn)行C語(yǔ)言程序 1.單個(gè)源文件的編譯運(yùn)行 例如下面的源代碼 #include (圖1) 選擇“文件”→“新建”,打開(kāi)如圖2所示 (圖2) 選擇“文件”項(xiàng),如圖3所示 (圖3) 選擇“C++ Source File”項(xiàng),并在“文件名”項(xiàng)目下輸入“sum.c”如圖4所示 (圖4)單擊“確定”,打開(kāi)如圖5所示 (圖5) 輸入如上源代碼,如圖6所示 (圖6) 選擇“組建”→“編譯”(或按Ctrl+F7組合鍵),打開(kāi)如圖7所示 (圖7) 在下端的輸出窗口會(huì)有錯(cuò)誤和警告的提示,如果沒(méi)有錯(cuò)誤選擇“組建”→“執(zhí)行”(或按Ctrl+F5組合鍵)即可出現(xiàn)運(yùn)行結(jié)果,如圖8所示 (圖8) 2.多個(gè)源文件的編譯運(yùn)行 以上是運(yùn)行單個(gè)源文件的情況,但是在程序設(shè)計(jì)時(shí),往往是由幾個(gè)人各自獨(dú)立編寫不同的程序,顯然這些程序是不能寫在一起進(jìn)行編譯的,這時(shí)就需要建立項(xiàng)目工作區(qū)來(lái)完成幾個(gè)獨(dú)立程序的編譯,具體方法如下。 首先建立兩個(gè)文本文件,分別命名為“file1.c”和“file.c”,分別在兩個(gè)文件中輸入如下兩個(gè)源代碼,然后保存。源代碼1: #include } void sum();sum();源代碼2: #include } int i,sum=0;for(i=1;i<=10;i++){ } printf(“sum=%dn”,sum);sum=sum+i;打開(kāi)VC++6.0,選擇“文件”→“新建”打開(kāi)如圖9所示 (圖9) 選擇“工作區(qū)”項(xiàng),并在“工作空間名稱”項(xiàng)目下輸入“sum”如圖10所示 (圖10)單擊“確定”,打開(kāi)如圖11所示 (圖11) 在左側(cè)的“工作區(qū)窗口”顯示了新建立的工作區(qū) 選擇“文件”→“新建”打開(kāi)如圖9所示,在“工程”項(xiàng)目下選擇“Win32 Console Application”項(xiàng),并在“工程名稱”項(xiàng)目下輸入工程名稱,如“sum”,選擇“添加到當(dāng)前工作空間”項(xiàng),如圖12所示 (圖12) 單擊“確定”,打開(kāi)如圖13 (圖13) 選擇“一個(gè)空工程”項(xiàng),單擊“完成”,打開(kāi)如圖14所示 (圖14) 單擊“確定”,打開(kāi)如圖15所示 (圖15) 在左側(cè)的“工作區(qū)窗口”顯示了新建立的工程 選擇“工程”→“添加到工程”→“文件”,打開(kāi)如圖16所示 (圖16) 選擇剛剛創(chuàng)建的兩個(gè)文件,單擊“確定”,打開(kāi)如圖17所示 (圖17) 選擇“組建”→“組建”(或按F7鍵),打開(kāi)如圖18所示 (18) 在下端的輸出窗口會(huì)有錯(cuò)誤和警告的提示,如果沒(méi)有錯(cuò)誤選擇“組建”→“執(zhí)行”(或按Ctrl+F5)即可出現(xiàn)運(yùn)行結(jié)果,如圖19所示 (圖19)第五篇:VC++6.0中如何編譯運(yùn)行C語(yǔ)言程序