要求:
1.打分为实数,随机产生,一位小数。
2.输出结果被去掉的用()括起来,占一行。
3.输出平均值保留2位小数,占一行。
代码文本:
#include "stdio.h"
#include <stdlib.h>
#include "time.h"
int main(int argc,char *argv[]){
int i,max_i,min_i;
double a[10],s;
srand((unsigned)time(NULL));
for(s=max_i=min_i=i=0;i<10;i++){
a[i]=(rand()%121+880)/10.0;//随机赋值88~100
if(a[max_i]<a[i])//找最大值下标存maxi
max_i=i;
else if(a[min_i]>a[i])//找最小值下标存mini
min_i=i;
s+=a[i];//求和
}
for(i=0;i<10;i++)//输出打分结果
printf(i==max_i || i==min_i ? "(%.1f) " : "%.1f ",a[i]);
printf("\nThe AVERAGE are %.2f\n",(s-a[max_i]-a[min_i])/8);//输出平均分
return 0;
}
(若帮助了你,请采纳)
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{ int i,max=0,min=0;
float s=0,a[10];
srand(time(0));
for(i=0; i<10; i++)
{ a[i]=(880+rand()%(1001-880))/10.0;
s+=a[i];
if(a[i]>a[max])max=i;
if(a[i]<a[min])min=i;
}
for(i=0;i<10;i++)
{if(i==max||i==min)printf("(%.1f) ",a[i]);
else printf("%.1f ",a[i]);
}
printf("\n%.2f\n",(s-a[max]-a[min])/8);
return 0;
}