2023年c語言掃雷課程設計報告(3篇)

字號:

    報告是指向上級機關匯報本單位、本部門、本地區(qū)工作情況、做法、經(jīng)驗以及問題的報告,怎樣寫報告才更能起到其作用呢?報告應該怎么制定呢?下面是我給大家整理的報告范文,歡迎大家閱讀分享借鑒,希望對大家能夠有所幫助。
    c語言掃雷課程設計報告篇一
    題目: 掃雷小游戲設計
    電子通信與物理學院 日期:2018年7月 12 日
    指導教師評語
    目錄
    1.課程設計內(nèi)容...........................................................................................................1 2.課程設計目的...........................................................................................................1 3.背景知識..................................................................................................................1 4.工具/準備工作..........................................................................................................3 5.設計步驟、方法.....................................................................................................3
    5.1........................................................................................................................3 5.2定義全局變量..................................................................................................4 5.3挖雷部分函數(shù)的分析.......................................................................................5 6.設計結(jié)果及分析.....................................................................................................11 7.設計結(jié)論...............................................................................................................16 8.參考文獻...............................................................................................................17 附錄...........................................................................................................................17
    1.課程設計內(nèi)容
    在計算機逐步滲入社會生活各個層面的今天,計算機已經(jīng)成為人們?nèi)粘I畹囊环郑絹碓蕉嗟娜耸褂糜嬎銠C辦公、娛樂等等。
    掃雷游戲是windows操作系統(tǒng)自帶的一款小游戲,在過去的幾年里,windows操作系統(tǒng)歷經(jīng)數(shù)次換代更新,變得越來越龐大、復雜,功能也越來越強大,但是這款小游戲依然保持原來的容貌,可見這款小游戲受到越來越多人的喜愛。我利用c-free編寫了與它功能相仿的挖地雷游戲,寓學于樂。
    即:設計一個功能與windows中的挖雷游戲相同的小游戲。
    2.課程設計目的
    1.培養(yǎng)學生綜合運用所學知識獨立完成課題的能力。
    2.試學生更深入地理解和掌握該課程中的有關基本概念,程序設計思想和方法。3.提高對工作認真負責、一絲不茍,對同學團結(jié)友愛,協(xié)作攻關的基本素質(zhì)。4.培養(yǎng)勇于探索、嚴謹推理、實事求是、有錯必改,用實踐來檢驗理論,全方位考慮問題等科學技術(shù)人員應具有的素質(zhì)。
    5.培養(yǎng)從資料文獻、科學實驗中獲得知識的能力,提高從別人經(jīng)驗中找到解決問題的新途徑的悟性,初步培養(yǎng)工程意識和創(chuàng)新能力。
    6.對掌握知識的深度、運用理論去處理問題的能力、實驗能力、課程設計能力、書面及口頭表達能力進行考核
    3.背景知識
    游戲區(qū)包括雷區(qū)、地雷計數(shù)器(位于左上角,記錄剩余地雷數(shù))和計時器(位于 右上角,記錄游戲時間),確定大小的矩形雷區(qū)中隨機布置一定數(shù)量的地雷(初級為9*9個方塊10個雷,中級為16*16個方塊40個雷,高級為16*30個方塊99個雷,自定義級別可以自己設定雷區(qū)大小和雷數(shù),但是雷區(qū)大小不能超過24*30),玩家需要盡快找出雷區(qū)中的所有不是地雷的方塊,而不許踩到地雷。
    游戲的基本操作包括左鍵單擊(left click)、右鍵單擊(right click)、雙擊(chording)三種。其中左鍵用于打開安全的格子,推進游戲進度;右鍵用于標記地雷,以輔助判斷,或為接下來的雙擊做準備;雙擊在一個數(shù)字周圍的地雷標記完時,相當于對數(shù)字周圍未打開的方塊均進行一次左鍵單擊操作:
    左鍵單擊:在判斷出不是雷的方塊上按下左鍵,可以打開該方塊。如果方塊上出現(xiàn)數(shù)字,則該數(shù)字表示其周圍3×3區(qū)域中的地雷數(shù)(一般為8個格子,對于邊塊為5個格子,對于角塊為3個格子。所以掃雷中最大的數(shù)字為8);如果方塊上為空(相當于0),則可以遞歸地打開與空相鄰的方塊;如果不幸觸雷,則游戲結(jié)束。
    雙擊:同時按下左鍵和右鍵完成雙擊。當雙擊位置周圍已標記雷數(shù)等于該位置數(shù)字時操作有效,相當于對該數(shù)字周圍未打開的方塊均進行一次左鍵單擊操作。地雷未標記完全時使用雙擊無效。若數(shù)字周圍有標錯的地雷,則游戲結(jié)束,標錯的地雷上會顯示一個“ ×”(見下圖)
    掃雷的設計原理: 掃雷游戲分為幾個步驟: 第一步,使用二維數(shù)組表示地圖; 第二步,隨機生成幾個地雷;
    第三步,點擊方格的反應,計算每個非雷區(qū)方格點開后的數(shù)字; 第四步,當方格數(shù)字為0的情況; 第五步,當方格為地雷的情況。
    第一步地圖的大小和第二步地雷的數(shù)量都應該是程序中給定的,或者玩家輸入的。這個是多少自己決定吧。第三步,計算非雷區(qū)方格點開后的數(shù)字就把這個方格在二維數(shù)組中周圍八個方向的方格是否是地雷都檢查一遍,一定要注意不要越出數(shù)組邊界。這個數(shù)字可以在游戲初始化時全都計算好,也可以在玩家點擊的時候再計算。點 擊非雷區(qū)方格,顯示數(shù)字,這個方格標記為“已點過”。第四步,當方格數(shù)字為0時,這里要用到遞歸調(diào)用,就是讓程序自動“點擊”這個數(shù)字為0方格周圍的八個方格,然后再看結(jié)果,如果不是0,就停止,如果是0,依然遞歸調(diào)用,直到?jīng)]有0為止,或者直到點遍所有方格為止,一定要注意不要越出數(shù)組邊界。第五步,很簡單,宣布玩家死亡就可以了。
    4.準備工作
    查閱相關資料,了解掃雷的的玩法,了解掃雷的設計思想方法。借鑒他人寫過的程序,從中找到突破口。從程序中了解需要的各種函數(shù)準備,再進一步獲悉該函數(shù)的功能與使用方法。
    對自己要設計的挖地雷游戲進行功能分析,大致如下:
    總體游戲過程分析:在屏幕上顯示一個游戲界面,雷區(qū)范圍內(nèi)預先埋設了一定數(shù)量的隨機分布的地雷(用數(shù)字9代替地雷);玩家通過從鍵盤中輸入(行數(shù)x,列數(shù)y)↙進行點擊;若能點中所有非雷區(qū),則游戲勝利;否則踩雷,游戲失敗。簡易版掃雷游戲要具備以下功能:
    1)開局:首先選擇游戲等級,然后生成不同等級的雷區(qū)界面。游戲等級分 為三級:各等級行列數(shù)為———:簡單:10×
    10、普通:15×
    15、困難:20×20;雷區(qū)每個*號下面或埋藏有1個地雷,或者沒有地雷;
    2)挖雷:從鍵盤中輸入(行數(shù)x,列數(shù)y),并按回車鍵,可挖開它;若所揭方塊下有9,則踩雷,此時所有含地雷的塊都出現(xiàn)9,該局游戲失??;如果方塊上出現(xiàn)數(shù)字,它代表 在它周圍的8個方塊中共有多少顆地雷;
    3)輸入:通過鍵盤輸入相關指示信息; 4)輸出:提示游戲失敗,是否繼續(xù)再來一遍;
    5.設計步驟、方法 5.1主函數(shù)第一步,寫出主程序的基本框架,確定各子模塊名字和參數(shù)。具體的函數(shù)流程如圖5-3 所示:
    定義使用到的常數(shù)、全局變量、函數(shù)原型說明。然后初始化圖形系統(tǒng),調(diào)用游戲控制函數(shù),游戲只接受鍵盤,通過鼠標結(jié)束游戲,關閉系統(tǒng),退出游戲。
    主控模塊的各子模塊說明:
    void initialvalue_game()用于棋盤初始化; initialmine_game()用于棋盤的隨機布雷; void print_game()用于打印棋盤; int judge_game()用于判斷游戲是否結(jié)束; int openmap()用于點開地圖;
    5.2定義全局變量
    #include
    #include “stdlib.h” #include“time.h” # define s 20 int x;/*棋盤行數(shù)*/ int y;/*棋盤列數(shù)*/ int b;/*選擇游戲難度 1簡單2普通3困難4 自定義*/ int h;/*雷的個數(shù)*/ struct games g;struct games { int game_int[s][s];char game_char[s][s];};使用結(jié)構(gòu)體數(shù)組來完成棋盤的定義,引用時間頭文件來完成對隨機布雷的隨時性。
    5.3挖雷部分函數(shù)的分析
    void initialvalue_game(struct games *g){ int i,j;for(i=0;i
    initialmine_game(struct games *g){ 5 int i,j,next1,next2;int sum=0;srand((unsigned)time(null));while(1){ i=rand()%x;j=rand()%y;if((*g).game_int[i][j]==9)continue;(*g).game_int[i][j]=9;++sum;for(next1=-1;next1<2;next1++){ for(next2=-1;next2<2;next2++){ if(-1
    void print_game(struct games *g,int logo){ int i,j;int a[s];for(i=0;i
    int judge_game(struct games *g){ int sum=0;int i,j;for(i=0;i
    運行第一步:
    按enter鍵進入: 11
    選擇游戲難度(簡單、普通、困難、任意),按enter鍵進入: 簡單難度: 普通難度:
    困難難度:
    任意難度:
    游戲界面,開始從鍵盤輸入數(shù)字,格式為(行數(shù)x,列數(shù)y),點擊enter鍵:
    游戲結(jié)束頁面: 7.設計結(jié)論
    一學期結(jié)束了,對c語言也有了一些認識,不過自我感覺學得不太好,好在還是學到了知識: 了解了c的發(fā)展以及編程的基本步驟,學會了printf輸出語句,c語言的運算,知道了有哪幾種數(shù)據(jù)類型,還有我覺得經(jīng)常用的if語句,if--eles語句,for循環(huán),while 語句,do-while語句等等,基本會用數(shù)組和指針,還有字符串的處理,對了還有才學的結(jié)構(gòu)體。
    還有許多知識點,不一羅列了,總之c語言要學的東西太多了,聽大三的都說c很簡單,但我并不認為他像人們說的那樣簡單,c是最基礎的,基礎不代表簡單,也可能是我沒學好才有這樣的感受。
    在這次設計過程中,不僅復習課本上所學知識,還通過查資料、問同學學到了課本上沒有的知識。從而啟發(fā)我,要想寫好程序,在寫好課本知識的同時還需要多讀和專業(yè)有關的一些書籍,同時還需要多動腦子,盡量把所學的知識綜合起來應用,力爭寫出完美的程序。除此之外,我還得到了一些有用的教訓:寫程序時必須要細心,不能輸錯一個字符標點,就連全角半角也得注意。在修改時要有耐心,編譯出錯后必須逐個錯誤去改正,絕不能心急浮躁,否則修改之后還會有新的錯誤。
    8.參考文獻
    郭翠英主編的《c語言課程設計實例精編》; 張芳妮 呂波 譯《c語言編程常見問題解答》; 譚浩強《c程序設計題解與上機指導(第二版)》。課程設計與系統(tǒng)開發(fā)案例[m].北京
    附錄:
    #include
    #include “stdlib.h” 17 #include“time.h” # define s 20 int x;/*棋盤行數(shù)*/ int y;/*棋盤列數(shù)*/ int b;/*選擇游戲難度 1簡單2普通3困難4 自定義*/ int h;/*雷的個數(shù)*/ struct games g;struct games { int game_int[s][s];char game_char[s][s];};
    main(){ int i,j;/*定義i,j變量*/ int no;int begin=1;int h;/*確定雷的個數(shù)*/ while(begin){ printf(“nnnnnnn” “ttt=================================n” “ttt 歡迎進入掃雷 nnn” “ttt 按回車鍵繼續(xù) n” “ttt=================================n” “ttt n”);getchar();/*游戲開始界面*/ system(“cls”);printf(“ nnnnnnnnn”);printf(“ 請選擇游戲難度:nn”);printf(“ 1簡單難度nn”);printf(“ 2普通難度nn”);printf(“ 3困難難度nn”);printf(“ 4自定義難度nn”);scanf(“%d”,&h);getchar();/*確定游戲難度*/ if(0
    void initialvalue_game(struct games *g){ int i,j;for(i=0;i
    initialmine_game(struct games *g){ int i,j,next1,next2;int sum=0;srand((unsigned)time(null));while(1){ i=rand()%x;j=rand()%y;if((*g).game_int[i][j]==9)continue;(*g).game_int[i][j]=9;++sum;for(next1=-1;next1<2;next1++){ for(next2=-1;next2<2;next2++){ if(-1
    void print_game(struct games *g,int logo){ int i,j;int a[s];for(i=0;i
    int judge_game(struct games *g){ int sum=0;int i,j;for(i=0;i
    c語言掃雷課程設計報告篇二
    中南大學
    程序設計基礎實踐報告
    學生姓名 張?zhí)m蘭 學 院 信息科學與工程學院 專業(yè)班級 物聯(lián)網(wǎng)工程1301班 完成時間 2014.1 題 目 設計一個和window系統(tǒng)類似的小游戲【挖地雷】
    《計算機程序設計實踐》錯誤!未指定書簽。
    目錄
    1.課程設計內(nèi)容.............................................................................................3 2.課程設計目的.............................................................................................3 3.背景知識....................................................................................................3 4.工具/準備工作............................................................................................5 5.設計步驟、方法.........................................................................................5
    5.1.步驟1:步驟名稱(二級標題).......................................................錯誤!未定義書簽。
    步驟1.1:步驟名稱(三級標題)..............................................................................5 5.1.1.5.2.5.3.步驟2:步驟名稱..........................................................................錯誤!未定義書簽。步驟n:步驟名稱..........................................................................錯誤!未定義書簽。
    6.設計結(jié)果及分析.........................................................................................5 7.設計結(jié)論..................................................................................................15 8.問題及心得體會.......................................................................................16 9.對本設計過程及方法、手段的改進建議....................................................17 10.參考文獻..................................................................................................17
    《計算機程序設計實踐》錯誤!未指定書簽。
    case 4:
    system(“cls”);
    printf(“請輸入棋盤行列數(shù)(小于20且用逗號隔開):”);
    scanf(“%d,%d”,&x,&y);
    getchar();
    printf(“請輸入雷的個數(shù):”);
    scanf(“%d”,&b);
    getchar();
    break;
    }
    break;
    }
    else
    {
    printf(“輸入錯誤請重新輸n”);
    }
    } while(begin){
    system(“cls”);
    initialvalue_game(&g);
    initialmine_game(&g);
    print_game(&g,2);
    no=1;
    while(no)
    {
    printf(“please choose:”);
    scanf(“%d,%d”,&i,&j);getchar();if(-1
    {
    switch(openmap(&g,i-1,j-1))
    {
    case 1:
    《計算機程序設計實踐》錯誤!未指定書簽。
    print_game(&g,1);
    printf(“游戲結(jié)束!按回車鍵再來一局n”);
    if(getchar()=='n')begin=1;
    else begin=0;
    no=0;
    break;
    case 2:
    if(judge_game(&g)==b)
    {
    printf(“win!n”);
    print_game(&g,1);
    printf(“按回車鍵再來一局n”);
    if(getchar()=='n')begin=1;
    else begin=0;
    no=0;
    break;
    }
    else print_game(&g,2);no=1;break;
    default:break;
    }
    }
    else
    {
    printf(“你輸入錯誤!請重新輸入n”);
    } } } }
    c語言掃雷課程設計報告篇三
    中南大學
    程序設計基礎實踐報告
    學生姓名 張?zhí)m蘭 學 院 信息科學與工程學院 專業(yè)班級 物聯(lián)網(wǎng)工程1301班 完成時間 2014.1 題 目 設計一個和window系統(tǒng)類似的小游戲【挖地雷】
    《計算機程序設計實踐》 目錄
    1.課程設計內(nèi)容.............................................................................................3 2.課程設計目的.............................................................................................3 3.背景知識....................................................................................................3 4.工具/準備工作............................................................................................5 5.設計步驟、方法.........................................................................................5
    5.1.步驟1:步驟名稱(二級標題).......................................................錯誤!未定義書簽。
    步驟1.1:步驟名稱(三級標題)..............................................................................5 5.1.1.5.2.5.3.步驟2:步驟名稱..........................................................................錯誤!未定義書簽。步驟n:步驟名稱..........................................................................錯誤!未定義書簽。
    6.設計結(jié)果及分析.........................................................................................5 7.設計結(jié)論..................................................................................................15 8.問題及心得體會.......................................................................................16 9.對本設計過程及方法、手段的改進建議....................................................17 10.參考文獻..................................................................................................17
    《計算機程序設計實踐》
    printf(“請輸入棋盤行列數(shù)(小于20且用逗號隔開):”);
    scanf(“%d,%d”,&x,&y);
    getchar();
    printf(“請輸入雷的個數(shù):”);
    scanf(“%d”,&b);
    getchar();
    break;
    }
    break;
    }
    else
    {
    printf(“輸入錯誤請重新輸n”);
    }
    } while(begin){
    system(“cls”);
    initialvalue_game(&g);
    initialmine_game(&g);
    print_game(&g,2);
    no=1;
    while(no)
    {
    printf(“please choose:”);
    scanf(“%d,%d”,&i,&j);getchar();if(-1
    {
    switch(openmap(&g,i-1,j-1))
    {
    case 1:
    print_game(&g,1);
    printf(“游戲結(jié)束!按回車鍵再來一局n”);
    《計算機程序設計實踐》
    if(getchar()=='n')begin=1;
    else begin=0;
    no=0;
    break;
    case 2:
    if(judge_game(&g)==b)
    {
    printf(“win!n”);
    print_game(&g,1);
    printf(“按回車鍵再來一局n”);
    if(getchar()=='n')begin=1;
    else begin=0;
    no=0;
    break;
    }
    else print_game(&g,2);no=1;break;
    default:break;
    }
    }
    else
    {
    printf(“你輸入錯誤!請重新輸入n”);
    } } } }
    c語言掃雷課程設計報告篇四
    指導教師學院專業(yè)班級學號姓名實驗室
    實驗題目:
    實驗要求:
    實驗內(nèi)容及步驟:
    運行結(jié)果
    心得體會:
    c語言掃雷課程設計報告篇五
    實 驗 報 告
    專業(yè)
    軟 件 工 程
    班級
    x
    班
    學號_ xxxxxxxxxxx_
    姓名
    實驗日期:201x年x月x日
    報告退發(fā)(訂正、重做)
    課程
    c程序設計實驗
    實驗名稱
    函
    數(shù)
    一、實驗目的
    ① 熟練掌握c程序中函數(shù)的定義; ② 掌握函數(shù)的調(diào)用,函數(shù)參數(shù)的傳遞; ③ 熟練掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用;
    二、實驗環(huán)境(描述實驗的軟件、硬件環(huán)境)
    ① 軟件環(huán)境:windows xp/win7等操作系統(tǒng),microsoft visual c++ 6.0編譯器; ② 硬件環(huán)境:pc機一臺
    三、實驗內(nèi)容、步驟和結(jié)果分析
    題目一:編寫一個用來判斷質(zhì)數(shù)(素數(shù))的函數(shù)。
    要求:
    (1)在main函數(shù)中調(diào)用該函數(shù)對輸入的數(shù)值進行判斷,并輸出判斷結(jié)果;(2)當輸入數(shù)值<=1時,停止輸入和判斷。
    #include
    #include
    /*=======判斷質(zhì)數(shù)(素數(shù))的函數(shù)=======*/ int judgeprime(int n){
    } /*=======判斷質(zhì)數(shù)(素數(shù))的函數(shù)=======*/ int main(){
    printf(“n提示:輸入一個數(shù)字來判斷是否是質(zhì)數(shù)(素數(shù)),當輸入數(shù)值<=1時,停止輸入和判斷。nn”);for(int num=2,temp;num>1;){ printf(“please enter a number:”);for(int i=2;i<=sqrt(n);i++)//一個數(shù)n如果是合數(shù),那么它的所有的因子不超過n的開方 {
    } return 1;if(n%i==0)return 0;else continue;
    }
    } scanf(“%d”,#);if(num<=1)break;//當輸入數(shù)值<=1時,停止輸入和判斷 temp=judgeprime(num);if(temp==0)printf(“%d is not a prime numner!nn”,num);else printf(“%d is a prime numner!nn”,num);return 0;
    題目二:使用習題1中所編寫的判斷質(zhì)數(shù)的函數(shù)驗證哥德巴赫(goldbach)的1+1猜想-----任何一個>=6的偶數(shù)都可以表示成兩個素數(shù)之和
    要求:
    ① 屏幕提示用戶一個>=6的偶數(shù);
    ② 輸出這個偶數(shù)等于2個素數(shù)之和的表達式; ③ 當輸入數(shù)據(jù)<6或者不是偶數(shù)時,停止輸入和驗證。
    #include
    #include
    /*=======判斷質(zhì)數(shù)(素數(shù))的函數(shù)=======*/ int judgeprime(int n){
    for(int i=2;i<=sqrt(n);i++)//一個數(shù)n如果是合數(shù),那么它的所有的因子不超過n的開方 {
    if(n%i==0)return 0;else continue;
    } } return 1;//true-->1,false-->0 /*=======驗證哥德巴赫猜想的函數(shù)(調(diào)用judgeprime)=======*/ int provegoldbach(int m){
    } int main(){
    }
    printf(“n提示:輸入一個偶數(shù)來驗證哥德巴赫猜想,當輸入數(shù)值<6時,停止輸入和判斷。nn”);for(int num=6;num>=6;){
    } int temp;printf(“please enter a number:”);scanf(“%d”,#);temp=provegoldbach(num);if(temp==0)//當輸入小于6或者不是偶數(shù)時結(jié)束 return 0;printf(“==================================”);if(m<6||m%2!=0){
    } if(judgeprime(j)==1&&judgeprime(m-j)==1)//判斷兩數(shù)是否都等于質(zhì)數(shù) { } printf(“t%d = %d + %dn”,m,j,m-j);return 0;//判斷是否大于等于6或者不是偶數(shù) for(int j=2;j<(m/2);j++)
    題目三:編寫一個求階乘的函數(shù),接著調(diào)用該函數(shù)實現(xiàn)組合的求解要求:
    ① 提示用戶輸入n和m的數(shù)值; ② 輸出的 結(jié)果
    #include
    /*=======階乘函數(shù)=======*/ int fac(int n){
    } /*=======組合函數(shù)=======*/ int combine(int m,int n){ } /*=======main函數(shù)=======*/ void main(){
    int m,n;int res;printf(“n提示:這是求組合求和公式的函數(shù),輸入兩個整數(shù)(分別為上標和下標)nn”);scanf(“%d%d”,&m,&n);if(m>n)//判斷上標大于小標重新輸入 goto loop;return fac(n)/(fac(n-m)*fac(m));int f;if(n<0)printf(“n<0,data error!”);f=1;else if(n==0||n==1)else f=fac(n-1)*n;return f;loop:printf(“please enter two numbers:”);
    }res=combine(m,n);printf(“tresult is %dn”,res);
    題目四:編寫一個求矩陣中最大元素以及最小元素的函數(shù)selectmaxandmin(),在main函數(shù)中調(diào)用該函數(shù)
    要求:
    最大值和最小值的輸出操作,可以放在selectmaxandmin()函數(shù)中
    #include
    #define row 4//矩陣的行 #define column 4//矩陣的列
    /*=======在矩陣中選擇最大最小數(shù)的函數(shù)=======*/ void selectmaxandmin(int arry[row][column])//用指針更方便 {
    int tempmax,tempmin;if(arry[0][0]>arry[0][1])//賦初始值 {
    } else {
    } for(int i=0;i
    }
    } for(int j=0;j
    } if(arry[i][j]>tempmax){ } if(arry[i][j]
    } int mat[row][column];printf(“please enter a %d x %d matrix:n”,row,column);for(int i=0;i
    } selectmaxandmin(mat);return 0;for(int j=0;j
    題目五:編寫一個編碼原文的函數(shù),對于給定的內(nèi)容,按照敵方的規(guī)律對其進行編碼
    要求:
    某日,我軍某部截獲了一份敵方電報,經(jīng)過仔細分析后發(fā)現(xiàn):該電文中所有的字母字符都是經(jīng)過某種運算后得到的,然那些非字母字符則沒有經(jīng)過任何處理。例如,原文中的字符a對應電文中的字符e,原文中的字符b對應電文中的字符f,原文中的字符w對應電文中的字符a,原文中的字符!在電文中仍為!
    #include
    #define size 20
    //定義大小 /*=======密碼翻譯的函數(shù)=======*/ char trans(char a){
    } //主函數(shù) int main(void){
    printf(“請輸入原文:nnn”);char str[size];gets(str);printf(“nnn”);if((a>='a'&&a<='v')||(a>='a'&&a<='v')){ } else {
    } if(a>='w'||a>='w'){ } else { return a;} return a-22;return a+4;
    }printf(“正在破解……nnn”);printf(“破譯的原文是:”);for(int i=0;i<20;i++){
    } printf(“n”);str[i]=trans(str[i]);if(str[i]=='')//判斷是否結(jié)束 break;printf(“%c”,str[i]);
    題目六:編寫一個函數(shù),求解輸入矩陣的轉(zhuǎn)置矩陣并輸出
    #include
    #define row 3//矩陣的行 #define column 4//矩陣的列 /*=======矩陣的輸入函數(shù)=======*/ void matinput(int mat[][column]){
    } /*=======原始矩陣的打印函數(shù)=======*/ for(int i=0;i
    for(int j=0;j
    } printf(“請輸入矩陣元素 [%d][%d]=:”,i,j);scanf(“%d”,&mat[i][j]);
    void matprint(int mat[][column]){
    } /*=======轉(zhuǎn)置矩陣的打印函數(shù)=======*/ void mattrasprint(int mat[][column]){
    } /*=======main函數(shù)=======*/ int main(void){
    } printf(“==================================”);printf(“請輸入一個 %d x %d 的矩陣:n”,row,column);int mat[row][column];matinput(mat);printf(“==================================”);printf(“原始矩陣為:n”);matprint(mat);printf(“==================================”);printf(“原始矩陣的轉(zhuǎn)置矩陣為n”);mattrasprint(mat);return 0;int arr[column][row];for(int i=0;i
    } for(int j=0;j
    } printf(“n”);arr[i][j]=mat[j][i];printf(“%3d”,arr[i][j]);for(int i=0;i
    } for(int j=0;j
    題目七:用戶輸入的字符串,以相反的順序打印出來。
    要求:利用遞歸函數(shù)調(diào)用形式
    #include
    #define size 20 /*=======相反輸出字符串的函數(shù)=======*/ void reverse(char a[]){
    int i=0;if(a[i]!=''){
    } int main(void){
    }printf(“t提示:輸入一串字符以相反的順序打印n”);char str[size];gets(str);reverse(str);printf(“n”);return 0;
    } else return;reverse(&a[i+1]);//遞歸調(diào)用 printf(“%c”,a[i]);
    四、討論