C语言课程设计报告完整版.docx

上传人:b****6 文档编号:6038034 上传时间:2023-01-03 格式:DOCX 页数:12 大小:125.92KB
下载 相关 举报
C语言课程设计报告完整版.docx_第1页
第1页 / 共12页
C语言课程设计报告完整版.docx_第2页
第2页 / 共12页
C语言课程设计报告完整版.docx_第3页
第3页 / 共12页
C语言课程设计报告完整版.docx_第4页
第4页 / 共12页
C语言课程设计报告完整版.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C语言课程设计报告完整版.docx

《C语言课程设计报告完整版.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告完整版.docx(12页珍藏版)》请在冰豆网上搜索。

C语言课程设计报告完整版.docx

C语言课程设计报告完整版

 

C语言课程设计实习报告

 

学生姓名:

学生学号:

所在班级:

任课教师:

课程成绩:

 

1.题目需求

(1)在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。

选手的最后得分为:

去掉一个最高分和一个最低分后其余8个数的平均值。

(2)同时对评委评分进行裁判,即在十个评委中找出最公平(即评分最接近平均分)和最不公平(即与平均分差距最大)的评委。

2.需求分析

根据题目要求,由于数据间单,仅涉及到简单排序及转换,程序中应提供显示、输入、输出、排序等操作,同时还可以提供键盘式选择菜单实现功能选择。

 

3.总体设计

这个系统可分为三个模块(见图1),评分、对评委测评、退出。

其中主要功能是最终得分和对评委测评两个模块。

 

4.详细设计

主函数比较简洁,只提供输入、功能处理和输出部分的函数调用。

其中各功能模块用菜单方式选择;另外,菜单部分也可以写成函数。

其流程图如图2所示。

 

 

[程序]

}#include

#include

main()/*主函数*/

{voidVote_score();/*声明评分函数*/

voidBaW();/*声明对裁判测评函数*/

intn,w;

do

{puts("\t\t**************************MENU*************************\n\n");/*选择菜单*/

puts("\t\t\t\t1.Voteandthescore");/*对歌手评分*/

puts("\t\t\t\t2.Bestandworestvoter");/*对裁判测评*/

puts("\t\t\t\t0.Exit");/*退出*/

puts("\n\n\t\t****************************************************\n\n");

printf("Choiceyournumber(0-2):

[]\b\b");

scanf("%d",&n);

if(n<0||n>2)/*对选择的数字做判断*/

{w=1;

getchar();

}

elsew=0;

}

while(w==1);/*选择功能*/

switch(n)

{

case1:

Vote_score();break;

case2:

BaW();break;

case0:

exit(0);

}

}

 

voidVote_score()/*评分函数*/

{

inta[10],b[10],i,j,k,B,n,w;

floatA;

B=0;

printf("inputthecontent:

\n");

for(i=0;i<10;i++)/*输入评选内容并求的评分之和*/

{

scanf("%d",&a[i]);

b[i]=a[i];

B=B+b[i];

}

for(i=0;i<9;i++)/*对评分按从小到大排序*/

for(j=1;j<10;j++)

if(b[i]>b[j])

{k=b[i];

b[i]=b[j];

b[j]=k;}

A=(B-b[0]-b[9])/8.0;/*舍去最低分和最高分求平均分*/

printf("Thefinalscore%f.\n",A);/*输出结果*/

printf(“Whatdoyouwhattodo?

”);

printf("\t\t\n********************1.MENU**********\n\n***********2.Exit*********\n\n");/*选择菜单*/

printf("\t\t\tChoiceyounumber:

[]\b\b");

scanf("%d",&n);

if(n<1||n>2)/*对选择的数字做判断*/

{w=1;

getchar();

}

elsew=0;

while(w==1);/*选择功能*/

switch(n)

{

case1:

main();break;/*返回主函数*/

case2:

exit(0);/*退出*/

}

}

 

#include

voidBaW()/*对裁判测评函数*/

{

inta[10],b[10],i,j,k,B,n,w;

floatA,f,c[10],d[10];

B=0;

printf("inputthecontent:

\n");

for(i=0;i<10;i++)/*输入评选内容并求的评分之和*/

{

scanf("%d",&a[i]);

b[i]=a[i];

B=B+b[i];

}

for(i=0;i<9;i++)

for(j=1;j<10;j++)

if(b[i]>b[j])

{

k=b[i];b[i]=b[j];b[j]=k;

}

A=(B-b[0]-b[9])/8.0;

for(i=0;i<10;i++)/*求得各评分与平均分之差的绝对值*/

{

c[i]=fabs(a[i]-A);

d[i]=c[i];

}

for(i=0;i<9;i++)/*对所求绝对值按从大到小排序*/

for(j=1;j<10;j++)

{

if(d[i]

{

f=d[i];d[i]=d[j];d[j]=f;

}

}

for(i=0;i<10;i++)/*找出最公平评委*/

if(c[i]==d[9])

printf("Thebestvoter'snumberis%d.\n",i);

for(i=0;i<10;i++)/*找出最不公平评委*/

if(c[i]==d[0])

printf("Theworstvoter'snumberis%d.\n",i);

printf(“Whatdoyouwhattodo?

”);

printf("\t\t\n********************1.MENU**********\n\n***********2.Exit*********\n\n");/*菜单*/

printf("\t\t\tChoiceyounumber:

[]\b\b");

scanf("%d",&n);

if(n<1||n>2)/*对选择的数字做判断*/

{w=1;getchar();

}

elsew=0;

while(w==1);/*选择功能*/

switch(n)

{

case1:

main();break;/*回主菜单*/

case2:

exit(0);/*退出*/

}

5.上机操作

1.编译、链接和运行。

(略)

2.结果

(1)主菜单函数:

效果如图3所示。

图3主菜单

(2)评分模块:

在主界面出现后输入1回车,选择评分函数。

效果如图4。

图4进入评分功能

输入评分内容。

效果图如图5

图5输入评分内容

回车后得出最终得分并出现选择菜单。

效果图如图6。

图6得出最终得分75.125000并出现选择菜单

输入1回车回到主函数。

效果图如图7。

图7回到主菜单

输入2进入对裁判测评模块,并重复输入刚才的评分内容。

效果图如图8。

图8进入测评模块并重复输入刚猜的评分内容

按回车得出最公平裁判的序号和最不公平裁判序号。

并出现选择菜单。

效果图如图9

图9得出序号为9的为最公平裁判。

序号为5的为最不公平裁判。

选择2按回车退出。

效果图如图10。

图10退出

6.总结

程序比较简单,在这里用一些

程序裁判测评模块中大部分和评分模块

相同,但结果指向不同。

程序中调用了数学函

数中的求绝对值函数fabs.

程序中有大量的数组排序,用for循环操

作。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1