C语言程序设计报告

2020-04-16 10:02

C

语言程序设计报告

程序设计者:

设计项目:

◆ 学生成绩排名

◆ 根据条件进行学生成绩排名 ◆ 用指针优化学生成绩排名 ◆ 学生成绩单制作

一、设计目的

通过设计“学生成绩管理系统”,进一步熟悉C语言的基本知识,掌握程序设计的基本思路和方法,因而掌握C语言的基本知识和技能,并且能够利用所学的基本知识和技能,解决简单的程序设计问题。

二、总体设计

说明:

1.本程序采用选择,循环,返回的设计,以一个主程序开始,通过选择进行子程序的运行。

2.当运行完一个程序后,又可以通过选择进行相应程序的应用。

3.流程图分为两种,总体流程图和细节流程图。细节流程图将在程序介绍中画出。

总体流程图见下

开始

请选择

N 输入0~4 输入错误!!!

Y 输入4 输入1 输入2 输入0 输入3

程序1开始 程序2开始 程序3开始 程序4开始 结束

: : : : : : : : : : : : 程序1结束 程序2结束 程序3结束 程序4结束 请再输入一个指令

三、详细设计

1、 学生成绩排名 程序1的细节流程图 ① 定义数组int b[11]。

② 定义一个input函数进行数据输入void input() 程序1开始 由此输入10个学生的成绩 int i = 0;

请输入10个学生的成绩 printf(\请输入10个学生的成绩\\n\ for(i=0;i<10;i++) {scanf(\

输入56 87 63 67 ③ 定义一个sort函数进行排序void sort(int human)

89 94 27 75 44 80 采用冒泡法从大到小的排序 for(i = 0;ib[i]) 80 75 67 63 56 44 27 {temp = b[i];b[i] = b[j];b[j] = temp;} 请再输入一个学生的成绩 printf(\从大到小的排名:\

定义一个reinput函数用来再输入一个学生的成绩 void reinput()。

输入70 printf(\请再输入一个学生的成绩:\scanf(\sort(11);

从大到小的排名:94 89 87 ④ 定义一个resort函数再进行从低到高的排序 80 75 70 67 63 56 44 27 void resort(int human)。 for(i = 0;i

if(b[j]

{temp = b[i];b[i] = b[j];b[j] = temp;} 程序1结束 printf(\从小到大的排名:\

2. 根据条件进行学生成绩排名 程序2的细节流程图 定义一个sort2函数进行条件选择void sort2 int i,n,a[1000]; 程序2开始 char style;

printf(\请选择排序方式:a为升序d为降序\\n\

请选择排序方式:a为升序d为降序 scanf(\ scanf(\

(1)① 如果选择a,则采用冒泡法进行从小到大的排序 if(style=='a') 输入a 输入d for(i=0;i

for(j=n-1;j>=i;j--)

请输入学生人数 if(a[j+1]

{t=a[j+1];a[j+1]=a[j];a[j]=t;} }

输入5 ② 输入学生人数

printf(\请输入学生人数\\n\

请输入5个学生的分数 scanf(\

③ 输入上述学生人数的分数,然后进行排序 for(i=0;i

输入45 23 scanf(\

12 67 56 printf(\排序后如下:\\n\

(2)① 如果选择d,则采用冒泡法进行从大到小的排序 else if(style=='d') ② 输入学生人数

排序后如下 排序后如下 ③ 输入上述学生人数的分数,然后进行排序

12 67 23 56 45 45 56 23 67 12

程序2结束

3. 用指针优化学生成绩排名 程序3的细节流程图 定义变量i,数组和指针 int i; 程序3开始 float stu[10],*p=stu; ① 输入10个学生的分数

请输入10个学生的分数 printf(\请输入10个学生的分数\\n\

for(i=0;i<10;i++) scanf(\

输入56 62 49 84 ② 排序前自动转为浮点型数据

97 36 73 58 40 69 printf(\排序之前:\\n \ for(i=0;i<10;i++)

printf(\

排序之前:56.00 62.00 49.00 84.00 97.00 36.00 p=stu; 73.00 58.00 40.00 69.00 ③ 排序后成绩数组按照从高到低进行排列 排序之后:97.00 84.00 73.00 69.00 62.00 58.00 printf(\排序之后:\\n\56.00 49.00 40.00 36.00 请输入字符串:student score for(i=0;i<10;i++)

printf(\

④ 采用指针方法,输入字符串:student score,

输入student score 复制该字符串后并输出:student score printf(\请输入字符串:student score\\n\gets(p);gets(p); 复制并输出:student score char *q=p;

printf(\复制并输出:\\n\

程序3结束 puts(q);


C语言程序设计报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:习题及解答

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: