您的位置:

c语言歌星程序,c语言生日歌程序

本文目录一览:

歌手打分 C语言编程

//我的是用C++做的。

//SetScore.h

#ifndef SETSCORE_H_

#define SETSCORE_H_

#include string

using namespace std;

class Umpire

{

public:

Umpire();

~Umpire();

bool SetScore();

void GetName();

int GetScore();

private:

int m_Score;

string m_szName_Umpire;

};

struct Singer

{

string szName_Singer;

int MaxScore;

int MinScore;

double AveScore;

int Grade;

};

#endif//SETSCORE_H_

//SetScore.cpp---类与结构的实现文件。

#include iostream

#include string

#include vector

#include algorithm

#include "SetScore.h"

using namespace std;

//------------------------裁判类的实现---------------------

Umpire::Umpire()

:m_szName_Umpire("No Name"),m_Score(0)

{}

void Umpire::GetName()

{

string name;

cinname;

m_szName_Umpire=name;

}

bool Umpire::SetScore()

{

//cout"Please Set Scores for Singer:[60,100]."endl;

int score;

cinscore;

if(score60||score100)

{

cout"你输入了一个非法值。请输入在[60,100]中的一个整数值。"endl;

return false;

}

m_Score=score;

return true;

}

int Umpire::GetScore()

{

return m_Score;

}

Umpire::~Umpire()

{}

//------------------------歌手类的实现---------------------

//本想也做一个类的,但考虑到顺便练习一下结构的使用,

//就没做类了。这里的成员第一次使用时都将是左值,因此就不初始化了。

//Singer.AveScore=0;

//-------------------全局函数声明--------------------------

int main()

{

//--------------裁判和歌手的信息初始化---=-------------

const int nUmpireNum=4;//最少要有3名裁判。否则不能去掉最高与最低分。

const int nSingerNum=2;

//------------------- 构造一个容器,用来将得分排序-----

vectordouble vec;

//-------------------裁判------------------------------

cout"\n=====================裁判======================\n";

Umpire *pUmpire=new Umpire[nUmpireNum];

//Umpire umpire[nUmpireNum];

for(int i=0;inUmpireNum;++i)

{

cout"Please Input a name for The ("i+1"/"nUmpireNum") Umpire :"endl;

pUmpire[i].GetName();

}

//-------------------歌手------------------------------

cout"\n=====================歌手======================\n";

Singer singer[nSingerNum];

Singer* pSinger=singer;

for(int j=0;jnSingerNum;++j)

{

cout"Please Input a name for The ("j+1"/"nSingerNum") Singer :"endl;

string name;

cinname;

pSinger[j].szName_Singer=name;

}

//-------------------打分过程----------------------

int nGetScorePerson(0);

while(nGetScorePersonnSingerNum)

{

cout"现在请给第 "nGetScorePerson+1"位歌手打分[60,100](共"nSingerNum"位):"endl;

int nScore[nUmpireNum],nMin(0),nMax(0),nSum(0);

//------------------打分-----------------------------

for(int i=0;inUmpireNum;++i)

{

cout"请第"i+1"位裁判打分(共"nUmpireNum"位)"endl;

bool bValid=pUmpire[i].SetScore();

while(!bValid)

{//直到输入正确才结束循环。

bValid=pUmpire[i].SetScore();

}

nScore[i]=pUmpire[i].GetScore();//记下每个裁判的打分。

}

//--------------找到最低分,最高分。------------------

nMin=nMax=nScore[0];

for(int j=0;jnUmpireNum;++j)

{

if(nMinnScore[j])

nMin=nScore[j];

if(nMaxnScore[j])

nMax=nScore[j];

nSum+=nScore[j];

}

pSinger[nGetScorePerson].MaxScore=nMax;

pSinger[nGetScorePerson].MinScore=nMin;

//---------------算出平均值得分-----------------------

pSinger[nGetScorePerson].AveScore=(double)(nSum-nMin-nMax)/(nUmpireNum-2);

//-------------将平均值放入容器中,用来排名次---------

vec.push_back(pSinger[nGetScorePerson].AveScore);

//------------------输出格式(四项内容)--------------

cout"歌手姓名---最终得分---最高得分---最低得分---\n ";

coutpSinger[nGetScorePerson].szName_Singer"-----"

pSinger[nGetScorePerson].AveScore"--------------"

pSinger[nGetScorePerson].MaxScore"--------------"

pSinger[nGetScorePerson].MinScore"---\n";

//------------------循环到下一位singer----------------

++nGetScorePerson;

}

sort(vec.begin(),vec.end());//排序,从小到大。

//================================================================

//==============下面就是输出所有歌手排名信息的处理了==============

//================================================================

cout"\n=======排=================行===============榜========\n"endl;

cout"\n----歌手姓名---------------排--名----\n ";

int nGrade(1);//用来排名次的。

for(int k=vec.size()-1;k=0;--k)

{

for(int i=0;inSingerNum;++i)

{

if(pSinger[i].AveScore==vec[k])

{

cout"------"pSinger[i].szName_Singer

"------------------""第"nGrade++"名"endl;

break;

}

}

}

delete [] pUmpire;

return 0;

}

C语言:歌星大奖赛中,有十个评委为参赛的选手打分,分数为1-100分,选手最后得分为去掉一个最高分

代码如下

#include iostream

using namespace std;

int main()

{int a[10],f[10],i,k,m,n,b,c,y,p,q,d,average,h,g;

cout"输入十位评委按顺序的打分:";

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

{cina[i];

}                           

for(b=0;b10;b++)

{while(a[b]100||a[b]0)

{cout"选手得分超出规定范围,请第"b+1"位评委重新打分!"endl;

cina[b];

}

}

m=a[0];n=a[0];

for(k=0,c=0;k9;k++)

{

if(m=a[k+1])  m=a[k+1];

if(n=a[k+1])  n=a[k+1];

c=c+a[k];

}

c=c+a[9];

y=c-m-n;

average=y/8;

for(p=0;p10;p++)

{f[p]=a[p]-average;

if(f[p]0) {f[p]=-f[p];}

}

q=f[0];d=f[0];

for(k=0,h=1;k9;k++)

{

if(q=f[k+1])  q=f[k+1] ,h=k+2;

if(d=f[k+1])  d=f[k+1],g=k+2;

}

cout"选手的平均分是"averageendl;

cout"最公平评委是第"g"位评委。"endl;

cout"最不公平评委是第"h"位评委。"endl;

return 0;

}

C语言代码技巧

1、使用合适的条件语句

除代码的可读性之外,程序的执行时间还主要依赖于做决定时所选择的条件结构类型。许多硬件工程师都熟悉简单的if语句的使用。然而,有时工程师可能没有意识到,如果第一个条件不正确,还可以使用else或else if语句。

2、用If/Else替代只用If

If/else if/else语句可能并不永远适用。如果需要检查若干个可能的条件,switch语句可能更合适。这样,处理器可以评估语句,然后从一个答案列表中选择下一步动作,而不用连续地评估一堆条件。

帮忙写下这个C语言程序歌星大奖赛

#includestdio.h void score(int a[]) { int i; printf("put in the score between 1 and 100"); for(i=0;i10;i++) { scanf("%d",a[i]); if(a[i]1||a[i]100) { printf("put again the score between 1 and 100"); scanf("%d",a[i]); } } } void main() { int a[10],i,max,min,sum=0,average; score(a); max=min=a[0]; for(i=0;i10;i++) { if(a[i]max) max=a[i]; if(a[i]min) min=a[i]; } for(i=0;i10;i++) sum=sum+a[i]; sum=sum-max-min; average=sum/8; printf("the average score is %d",average); } 我自己写的,绝对是正确的,我已经运行过了!

求采纳

编写一段C语言程序完成此题: 歌手大奖赛上有10个评委(放在一个数组中)打分,请设计一个通用程序,

#includestdio.h

#includeconio.h

#define _for(i,a,b) for(int i=a;ib;i++)

using namespace std;

int scores[10];

double average,maxn,minn=0x7f,imax,imin;

int main(){

system("cls");

_for(i,0,10){

printf("Please input a score:");

scanf("%d",scores[i]);

average+=scores[i];

if(maxnscores[i]){

maxn=scores[i];

imax=i;

}

if(minnscores[i]){

minn=scores[i];

imin=i;

}

printf("\n");

}

average-=maxn+minn;

average/=8.0;

printf("\nThe average: %.6lf\n",average);

printf("The max: %.6lf\n",maxn);

printf("The min: %.6lf\n",minn);

_for(i,0,10){

if(scores[i]average){

printf("%d,%.6lf\n",i+1,double(maxn));

}

}

printf("max: %d,%.6lf\n",imax+1,maxn);

printf("min: %d,%.6lf\n\n",imin+1,minn);

printf("Next singer? y or Y: ");

char k=getch();

if(k=='y' || k=='Y')main();

return 0;

}

c语言歌星程序,c语言生日歌程序

2023-01-03
头歌educoder答案c语言,头歌educoder答案c语

2022-12-02
c语言程序歌曲,c语言演奏音乐

2022-11-29
c语言汇编歌曲,C语言歌曲

2023-01-04
c语言笔记讲解,c语言程序笔记

2022-11-23
c语言程序星期,c语言星期几问题

2022-11-26
c语言拍手歌,语言游戏拍手歌

2023-01-04
c语言公历,c语言日历程序

2023-01-04
音乐c语言真题,头歌c语言实训题目及答案

2023-01-05
c语言接龙游戏,c语言游戏开发教程

2022-11-27
c语言程序员工资,c语言开发工程师工资

2022-11-24
c语言十个诺手,玩诺手学c语言

2023-01-05
课程c语言,c语言程序课程

2022-11-28
酷狗音乐c语言,c语言代码

2022-11-26
c语言c语言+,c语言c语言程序程序

2022-12-02
c语言转换成语,用c语言进行进制转换

本文目录一览: 1、c语言怎么载入成语库 2、关于c语言成语的疑问 3、跪求c语言小游戏“成语接龙”代码,急急急!谢谢 4、C++设计猜成语程序 5、怎么用c语言选择结构输出一到七开头的成语? c语言

2023-12-08
c语言程序mp3,C语言程序设计基础

本文目录一览: 1、c语言程序设计MP3或MP4文件基本信息的解析 2、C语言如何播放mp3格式音乐 3、怎么用C语言打开一个MP3文件吖? 4、c语言中如何播放mp3数据帧 5、怎样用C语言编程打开

2023-12-08
基础c语言笔记,C语言笔记

2023-01-06
c语言爱我中华,c语言的我爱你怎么说

2022-11-28
祝福程序c语言,程序员生日祝福c语言

2022-11-29