c語言程序設計實踐教程劉光蓉,案例式c語言程序設計答案劉艷軍

本文目錄一覽:

C語言程序設計

這個也不是很全,但是大體功能有了,你改進一下嘛,我運行過的可以!

希望對你有所幫助!

#include stdio.h

#include stdlib.h

#define SIZE 10 /*定義常量SIZE便於以後的修改*/

struct student /*定義一個結構體數組存放學生的信息*/

{

int number; /*學號*/

char name[20];/*名字*/

float score[3];/*分數*/

float average;/*平均分*/

}stu[SIZE];

void menu();/*調用菜單函數*/

void write();/*讀入信息*/

void save();/*保存stud.dat文件函數*/

void open();/*檢查是否正確保存*/

void inturn (struct student c[]);/*用於對學生的信息按平均分排序的函數*/

void save2();/*將排序後的信息存入studsort.dat文件中*/

void read();/*讀取studsort.dat文件文件中第2 4 6 8 10個學生的信息*/

void main()

{

int choice;/*用戶選擇變量*/

printf(“*******************************************************************************\n”);

printf(“* *\n”);

printf(“* Hwadee 學生成績文件管理 Hwadee *\n”);

printf(“* *\n”);

printf(“*******************************************************************************\n\n\n”);

printf(“******************************●●歡迎使用●●*********************************”);

system(“pause”);

while (1)

{

menu();/*調用菜單函數形成操作界面*/

printf(“請選擇:\t”);

scanf(“%d”, choice);

if ( choice == 0 )

{

system(“cls”);

printf(“\n\n\t\t\t\t謝謝使用!!!\n\n\t\t\t\t\t\t\t\t指導老師: 梁凱\n\n\t\t\t\t\t\t\t\t 學生:萬超\n”);

break;

}

switch(choice) /*多重選擇實現功能不同的功能*/

{

case 1:

write();

break;

case 2:

system(“cls”);

save();

break;

case 3:

system(“pause”);

system(“cls”);

open();

break;

case 4:

system(“cls”);

printf(“排序前的學生信息:\n”);

open();

inturn(stu);

save2();

break;

case 5:

system(“cls”);

read();

break;

default:

printf(“\n無此項功能!\n請重新輸入\n”);

}

}

}

void menu()

{

printf(“\n1*****輸入學生信息\t\t2*****將信息存入文件stud.dat中\n”);

printf(“3*****檢查文件數據\t\t4*****將學生信息排序並存入文件studsort.dat中\n”);

printf(“5*****讀取文件studsort.dat中的第 2 4 6 8 10個學生的信息\n”);

printf(“0*****退出系統\n\n\n”);

}

/**********************************************************************\

函數名稱:

write

功能描述:

完成將學生信息寫入

函數參數:

i stu

返回值:

模塊歷史:

\*********************************************************************/

void write()

{

int i;/*計數變量*/

stu[i].average = 0;/*初始化結構體成員 average*/

printf(“請你輸入學生的信息\n”);

printf(“學號\t姓名\t語文\t數學\t英語\t\n”);

for (i=0; iSIZE;i++)

{

scanf(“%d\t”,stu[i].number);

if (stu[i].number == 0)/*不需輸入信息時輸入0即可*/

break;

scanf(“%s\t%f\t%f\t%f”,stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2]);

stu[i].average = (stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;/*計算平均成績*/

}

}

/**********************************************************************\

函數名稱:

save

功能描述:

將寫入的信息讀入文件中

函數參數:

FILE *fp i

返回值:

模塊歷史:

\*********************************************************************/

void save()

{

FILE *fp;/*定義文件指針用於向文件讀入數據*/

int i;

if ((fp=fopen(“stud.dat”,”wb”)) == NULL)

{

printf(“cannot open file\n”);

return;

}

for (i=0;iSIZE;i++)

if (fwrite(stu[i],sizeof(struct student),1,fp) != 1)

printf(“file write error\n”);

fclose(fp);

printf(“\n信息保存成功!恭喜!!\n\n”);

}

/**********************************************************************\

函數名稱:

open

功能描述:

用於檢查讀入文件的數據是否正確

函數參數:

FILE *cp i

返回值:

模塊歷史:

\*********************************************************************/

void open()

{

int i;

FILE *cp;

cp = fopen (“stud.dat”,”rb”);

printf(“保存在stud.dat文件中的信息:\n\n”);

printf(“學號\t姓名\t數學\t語文\t英語\t平均分\n\n”);

for (i=0;iSIZE;i++)

{

fread(stu[i],sizeof(struct student),1,cp);

printf(“%d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\n\n\n”,stu[i].number, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].average );

}

fclose (cp);

}

/**********************************************************************\

函數名稱:

inturn

功能描述:

用於對結構體數組中的元素排序

函數參數:

into i,j,k

struct student temp

返回值:

模塊歷史:

\*********************************************************************/

void inturn(struct student m[])

{

int i,j,k;/*計數變量*/

struct student temp;/*中間變量 類型為結構體*/

for(i=0; iSIZE-1; i++) /*運用冒泡排序對結構體數組進行排序*/

for (j=i+1; jSIZE; j++)

{

if( m[i].average m[j].average )

{

temp = m[i];

m[i] = m[j];

m[j] = temp;

}

}

printf(“\n排序後的學生信息:\n\n”);

printf(” 學號\t姓名\t數學\t語文\t英語\t平均分\n”);

for (i=0; iSIZE; i++)

{

printf(“第%d名 %d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\n\n\n”,i+1, stu[i].number, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].average );

}/*輸出排序後的學生信息*/

}

/**********************************************************************\

函數名稱:

save2

功能描述:

將排序後的學生信息讀入到另外的文件中

函數參數:

FILE *mp

i

返回值:

模塊歷史:

\*********************************************************************/

void save2()

{

FILE *mp;

int i;

if ((mp=fopen(“studsort.dat”,”wb”))==NULL)

{

printf(“cannot open file\n”);

return;

}

for (i=0;iSIZE;i++)

if (fwrite(stu[i], sizeof(struct student), 1, mp) != 1)

printf(“file write error\n”);

fclose(mp);/*讀取完畢關閉文件*/

}

/**********************************************************************\

函數名稱:

read

功能描述:

讀出另外文件中的信息

函數參數:

FILE *tp

i

返回值:

模塊歷史:

\*********************************************************************/

void read()

{

int i=1;

FILE *tp;

tp = fopen (“studsort.dat”, “rb” );

printf(“studsort.dat文件中偶數號碼學生的信息如下:\n\n”);

printf(“學號\t姓名\t數學\t語文\t英語\t平均分\n\n”);

for (i = 1;iSIZE;i += 2)

{

fseek(tp,i*sizeof(struct student),0);/*fseek函數可以根據用戶所需對文件開頭的偏移量來讀取文件的數據。

k*sizeof(struct student)是指將位置指針移到當前位置k個字節處*/

fread(stu[i],sizeof(struct student),1,tp);

/*注意:必須使用fseek函數定位後才能根據自己所需讀出數據,但是只用fseek函數不用fread,

只是把數據打印到屏幕上而並沒有從文件中讀取。這是一個常見性問題*/

printf(“%d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\n”, stu[i].number, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].average );

}

fclose (tp);/*讀取完畢關閉文件*/

}

《C程序設計語言第2版·新版》epub下載在線閱讀,求百度網盤雲資源

《C程序設計語言(第2版·新版)》([美] Brian W. Kernighan)電子書網盤下載免費在線閱讀

資源鏈接:

鏈接:

提取碼: ixs4

書名:C程序設計語言(第2版·新版)

作者:[美] Brian W. Kernighan

譯者:徐寶文

豆瓣評分:9.4

出版社:機械工業出版社

出版年份:2004-1

頁數:258

內容簡介:在計算機發展的歷史上,沒有哪一種程序設計語言像C語言這樣應用廣泛。本書作者是C語言的設計者之一Dennis M. Ritchie和著名計算機科學家Brian W. Kernighan合著的一本介紹C語言的權威經典著作。我們現在見到的大量論述C語言程序設計的教材和專著均以此書為藍本。

原著第1版中介紹的C語言成為後來廣泛使用的C語言版本——標準C的基礎。人們熟知的“hello,World”程序就是由本書首次引入的,現在,這一程序已經成為眾多程序設計語言入門的第一課。原著第2版根據1987年制定的ANSIC標準做了適當的修訂.引入了最新的語言形式,並增加了新的示例,通過簡潔的描述、典型的示例,作者全面、系統、準確地講述了C語言的各個特性以及程序設計的基本方法。

對於計算機從業人員來說,本書是一本必讀的程序設計語言方面的參考書。

作者簡介:Brian W. Kernighan,貝爾實驗室計算科學研究中心高級研究人員,著名的計算機科學家。參加了UNIX系統、C語言、AWK語言和許多其他系統的開發,同時出版了許多在計算機領域具有影響的著作,如《The Elements of Programming Style》《The Practice of Programming》《The UNIX Programming Environment》《The AWK Language》《Software Tools》等。

Dennis M. Ritchie,1967年加入貝爾實驗室。他和 Ken L. Thompson 兩人共同設計並實現的C語言改變了程序設計語言發展的軌跡,是程序設計語言發展過程中的一個重要里程碑。與此同時,他們還設計並實現了UNIX操作系統。正是由於這兩項巨大貢獻,Dennis M. Ritchie 於1983年獲得了計算機界的最高獎——圖靈獎。此外,他還獲得了ACM、IEEE、貝爾實驗室等授予的多種獎項.。

c語言程序設計視頻教程

《06 00上海交通大學 計算機自考考研課程 C語言程序設計基礎 全27講 視頻教程》百度網盤資源免費下載

鏈接:

?pwd=ks7d 提取碼:ks7d

06 00上海交通大學 計算機自考考研課程 C語言程序設計基礎 全27講 視頻教程|各學科 學習視頻目錄|03.avi|02.avi|01.avi|政治目錄.txt|哲學目錄.txt|語言目錄.txt|藝術目錄.txt|醫學目錄.txt|心理目錄.txt|物理目錄.txt|文學目錄.txt|體育目錄.txt|數學目錄.txt  

推薦幾本好的C語言方面的書

1.《The C Programming Language》(《C程序設計語言》) ¥30

(美)Brian W.Kernighan,Dennis M.Ritchie (KR)著 機械工業出版社

2.《C Primer Plus》(中文版) ¥60

(美)Stephen Prata 著 人民郵電出版社

3.《C語言入門經典》 ¥55

(美)霍頓(Horton,I.)著

4.《Programming in C》(《C語言編程》) ¥59

(美)Stephen Kochan 著 電子工業出版社

5.《Pointers On C》(《C指針》)

6.《Expert C Programming》(《C專家編程》)

7.《C Traps and Pitfalls》(《C缺陷和陷阱》)

第一本絕對是學習C語言必看的書,而且相對來說比較便宜,當然如果買英文版的就更好了(我在書店看的英文版是35RMB)

《C程序設計語言第2版·新版》pdf下載在線閱讀全文,求百度網盤雲資源

《C程序設計語言(第2版·新版)》([美] Brian W. Kernighan)電子書網盤下載免費在線閱讀

鏈接:

提取碼: sejp  

書名:C程序設計語言(第2版·新版)

作者:[美] Brian W. Kernighan

譯者:徐寶文

豆瓣評分:9.4

出版社:機械工業出版社

出版年份:2004-1

頁數:258

內容簡介:

在計算機發展的歷史上,沒有哪一種程序設計語言像C語言這樣應用廣泛。本書作者是C語言的設計者之一Dennis M. Ritchie和著名計算機科學家Brian W. Kernighan合著的一本介紹C語言的權威經典著作。我們現在見到的大量論述C語言程序設計的教材和專著均以此書為藍本。

原著第1版中介紹的C語言成為後來廣泛使用的C語言版本——標準C的基礎。人們熟知的“hello,World”程序就是由本書首次引入的,現在,這一程序已經成為眾多程序設計語言入門的第一課。原著第2版根據1987年制定的ANSIC標準做了適當的修訂.引入了最新的語言形式,並增加了新的示例,通過簡潔的描述、典型的示例,作者全面、系統、準確地講述了C語言的各個特性以及程序設計的基本方法。

對於計算機從業人員來說,本書是一本必讀的程序設計語言方面的參考書。

作者簡介:

Brian W. Kernighan,貝爾實驗室計算科學研究中心高級研究人員,著名的計算機科學家。參加了UNIX系統、C語言、AWK語言和許多其他系統的開發,同時出版了許多在計算機領域具有影響的著作,如《The Elements of Programming Style》《The Practice of Programming》《The UNIX Programming Environment》《The AWK Language》《Software Tools》等。

Dennis M. Ritchie,1967年加入貝爾實驗室。他和 Ken L. Thompson 兩人共同設計並實現的C語言改變了程序設計語言發展的軌跡,是程序設計語言發展過程中的一個重要里程碑。與此同時,他們還設計並實現了UNIX操作系統。正是由於這兩項巨大貢獻,Dennis M. Ritchie 於1983年獲得了計算機界的最高獎——圖靈獎。此外,他還獲得了ACM、IEEE、貝爾實驗室等授予的多種獎項.。

原創文章,作者:VNWA,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/148937.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
VNWA的頭像VNWA
上一篇 2024-11-04 17:48
下一篇 2024-11-04 17:49

相關推薦

  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變量類型,而是在變量第一次賦值時自動識別該變量的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Python數據統計案例的實現

    Python作為一個高級編程語言,擁有着豐富的數據處理庫和工具,能夠快速、高效地進行各類數據處理和分析。本文將結合實例,從多個方面詳細闡述Python數據統計的實現。 一、數據讀取…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬盤。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • 猿編程python免費全套教程400集

    想要學習Python編程嗎?猿編程python免費全套教程400集是一個不錯的選擇!下面我們來詳細了解一下這個教程。 一、課程內容 猿編程python免費全套教程400集包含了從P…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python煙花教程

    Python煙花代碼在近年來越來越受到人們的歡迎,因為它可以讓我們在終端里玩煙花,不僅具有視覺美感,還可以通過代碼實現動畫和音效。本教程將詳細介紹Python煙花代碼的實現原理和模…

    編程 2025-04-29
  • 使用Snare服務收集日誌:完整教程

    本教程將介紹如何使用Snare服務收集Windows服務器上的日誌,並將其發送到遠程服務器進行集中管理。 一、安裝和配置Snare 1、下載Snare安裝程序並安裝。 https:…

    編程 2025-04-29

發表回復

登錄後才能評論