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/n/148937.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
VNWAVNWA
上一篇 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

发表回复

登录后才能评论