设最高分是A,最低分是B,其他八个分数的和是C。则A+B+C=934,B+C=92.8*9,A+C=94.2*9。分别用第一式减第二式和第三式,得到A=98.8,B=86.2,C=749。所以去掉最高分和最低分后8个人的总分是749。所以他的分为749/8=93.625分。
成都创新互联拥有一支富有激情的企业网站制作团队,在互联网网站建设行业深耕十多年,专业且经验丰富。十多年网站优化营销经验,我们已为超过千家中小企业提供了网站设计、成都做网站解决方案,按需设计网站,设计满意,售后服务无忧。所有客户皆提供一年免费网站维护!
好。我写一个给你参考……
#include stdio.h
#include "string.h"
#include "stdlib.h"
struct A{
int sid;
char name[20];
double score;
};
int main(void){
struct A sgr[20];
double max,min,sum,jud[10];
char t[20];
int i,j,sn,jn;
printf("How many singers judges?\n");
if(scanf("%d%d",sn,jn)!=2 || sn1 || jn3 || sn20 || jn10){//输入歌手和评委人数
printf("Input error, exit...\n");//输入错误则退出
return 0;
}
printf("Input the informations...\n");//以下输入评委对某歌手的打分
printf("SERI NAME ");
for(i=0;i++jn;printf(ijn ? " JUD%d" : " JUD%d\n",i));
printf("-----------");
for(i=0;i++jn;printf(ijn ? "-----" : "-----\n"));
for(i=0;isn;i++){
printf("%3d ",sgr[i].sid=i+1);
scanf("%s",sgr[i].name);
for(min=200,sum=max=j=0;jjn;j++){
scanf("%lf",jud+j);
if(jud[j]max)//求评委打分的最高分
max=jud[j];
if(jud[j]min)//求评委打分的最低分
min=jud[j];
sum+=jud[j];//求总分
}
sgr[i].score=(sum-min-max)/(jn-2);//求去除最高最低分的平均值
}
printf("\nSERI NAME SCOR\n-------------------\n");//输出信息
for(i=0;isn;i++)
printf("%3d%8s%8.2f\n",sgr[i].sid,sgr[i].name,sgr[i].score);
printf("Input a name or a serial number...\n");//以下按序号或姓名查询
scanf("%s",t);
for(i=0;isn;i++)
if(sgr[i].sid==atoi(t) || strcmp(t,sgr[i].name)==0){
printf("\nSERI NAME SCOR\n-------------------\n");
printf("%3d%8s%8.2f\n",sgr[i].sid,sgr[i].name,sgr[i].score);
break;
}
if(i=sn)//未查到提示
printf("No find \'%s\'...\n",t);
return 0;
}
1选择题
1,B
2.D
3.D
2.int i = 30;
double d[] = new double[30];
char[] r = new char[30];
int[] i = {3,4,5,6};
float f[] ={2.3F,3.5F,6.6F};
char[] c = new char[3];
3. int类型,最小为0,a[2]
4. double[] d = new double[10];
d[9] = 5.5D;
double result = d[0] + d[1];
5. public static void method1(int n, int m) {
n += m;
method2((int) 3.4);
}
public static int method2(int n) {
if (n 0)
return 1;
else if (n == 0)
return 0;
else
return -1;
}
6.
public double getPromotion(double amount, double percent)
public void print(int year, int month)
public double sqrt(double d)
public boolean isOdd(int i);
public void printMsg(int times);
public double getLoanMonthlyPayment(double totalMoney, int loanYears, double interest);
public Char toUpperCase(char c);
public static void question1() {
Scanner scanner = new Scanner(System.in);
double[] scores = new double[10];
int i = 0;
double totalScore = 0;
while (i 10) {
double d = scanner.nextDouble();
scores[i] = d;
i++;
totalScore += d;
}
double avgScore = totalScore / 10;
Arrays.sort(scores);
int index = Arrays.binarySearch(scores, avgScore);
System.out.println("低于平均成绩的" + (index));
System.out.println("高于平局成绩的" + (10 - index));
scanner.close();
}
public static void question2() {
double[] scores = { 10.0, 9.0, 8.0, 10.0, 7.0, 10.0, 9.0, 8.0, 10.0, 7.0 };
Arrays.sort(scores);
double[] newScores = new double[8];
for (int i = 1; i scores.length - 2; i++) {
newScores[i - 1] = scores[i];
}
double totalScore = 0;
for (int i = 0; i newScores.length; i++) {
totalScore += newScores[i];
}
System.out.println("得分是" + totalScore);
}
public static void question3() {
double[] d = new double[] { 1, 2, 3, 4, 5 };
double min = Double.MAX_VALUE;
double max = Double.MIN_VALUE;
for (int i = 0; i d.length; i++) {
if (min d[i]) {
min = d[i];
}
if (max d[i]) {
max = d[i];
}
}
System.out.println("最大值" + max);
System.out.println("最小值" + min);
}
public static int average(int[] array) {
int total = 0;
for (int i = 0; i array.length; i++) {
total += array[i];
}
return total / array.length;
}
public static double average(double[] array) {
double total = 0;
for (int i = 0; i array.length; i++) {
total += array[i];
}
return total / array.length;
}
public boolean equals(int[] list1, int[] list2) {
if (list1 == null) {
return false;
}
if (list2 == null) {
return false;
}
if (list1.length != list2.length) {
return false;
}
for (int i = 0; i list1.length; i++) {
if (list1[i] != list2[i]) {
return false;
}
}
return true;
}
#include stdio.h
#includestring.h
void main()
{
int i,j,m,n;
float num,xgrade[100],max,min,pgrade[100],pdis[100];
char str[10],xname[100][10],pname[100][10];
printf("请输入评委人数:");
scanf("%d",m);
printf("\n请分别输入评委姓名:\n");
for(i=0;im;i++)
{
scanf("%s",pname[i]);//评委姓名
pgrade[i]=0;//评委给的分
pdis[i]=0;//评委给分和最后结果的差距
}
printf("\n请输入选手人数:");
scanf("%d",n);
printf("\n请分别输入选手姓名:\n");
for(i=0;in;i++)
{
scanf("%s",xname[i]);//选手姓名
xgrade[i]=0;//选手成绩
}
for(i=0;in;i++)
{
max=0;min=10;//评委给选手的最大最小成绩
printf("\n请给选手%s打分!",xname[i]);
for(j=0;jm;j++)
{
printf("\n%s老师给的分数为:",pname[j]);
scanf("%f",pgrade[j]);
xgrade[i]+=pgrade[j];//加到该选手的总分数中
if(maxpgrade[j])
max=pgrade[j];
if(minpgrade[j])
min=pgrade[j];
}
xgrade[i]=(xgrade[i]-max-min)/(m-2);//最后成绩为总成绩-最高分-最低分,然后平均
for(j=0;jm;j++)//算出每个评委本次评分和最终成绩的差,加到pdis中保存起来
{
pdis[j]+=pgrade[j]xgrade[i]?(pgrade[j]-xgrade[i]):(xgrade[i]-pgrade[j]);
}
}
for(i=0;in-1;i++)
for(j=0;jn-1-i;j++)
if(xgrade[j]xgrade[j+1])
{
strcpy(str,xname[j]);
strcpy(xname[j],xname[j+1]);
strcpy(xname[j+1],str);
num=xgrade[j];
xgrade[j]=xgrade[j+1];
xgrade[j+1]=num;
}
printf("\n选手按名次排名为:\n");
printf("选手名\t得分\n");
for(i=0;in;i++)
printf("%s\t%f\n",xname[i],xgrade[i]);
for(i=0;im-1;i++)
for(j=0;jm-1-i;j++)
if(pdis[j]pdis[j+1])
{
strcpy(str,pname[j]);
strcpy(pname[j],pname[j+1]);
strcpy(pname[j+1],str);
num=pdis[j];
pdis[j]=pdis[j+1];
pdis[j+1]=num;
}
printf("\n评委按名次排名为:\n");
printf("评委名\t差分\n");
for(i=0;im;i++)
printf("%s\t%f\n",pname[i],pdis[i]);
}
vae.la
每个歌手可以看成一个对象,这样就可以建一个歌手的类,添加一些属性和get,set方法 ,主程序可以将路人的对象保存起来,评委打分可以通过循环来对每个歌手进行打分,将打好的分保存起来,进行数据处理,存到一个数组或者链表中,查找时可以通过输入编号得到对应的选手,再通过选手得到对应的分数;排序得分就更简单了,使用排序算法就可以解决,什么冒泡,快速排序都行的。。。楼主代码还得自己敲