C喜欢简洁的东西,呵呵

先留下个印记,不知道为什么,看自己以后学的更多了之后可以知道不。

目的是实现一个裁判系统,去掉最高最低分,最后得到平均分。

#include<stdio.h>
float max(float s[]);
float min(float s[]);
void main(){
float k=0,s[10],m,l,aver,sum,temp;
int n;
printf("PLEASE INPUT THE SCORE OF TEN JUDGEMENTS:/n ");
for(n=0;n<=9;n++){
scanf("%f",&temp);
if(temp>=10&&temp<=100)
s[n]=temp;
else n=n-1;
}
for(n=0;n<=10;n++)
k+=s[n];
m=max(s);
l=min(s);
aver=(k-l-m)/8;
printf("THE TOTAL IS %f/nTHE MAX IS %f/nTHE MIN IS %f/nTHE AVERAGE IS %f/n",k,m,l,aver);
getch();
}
float max(float s[])
{
float i;
int k;
i=s[0];
for(k=1;k<=9;k++){
if(i<=s[k])
i=s[k];
}
return i;
}

float min(float s[])
{
float i;
int l;
i=s[0];
for(l=1;l<=9;l++){
if(i>=s[l])
i=s[l];
}
return i;
}

改后的东西。

 

改之前出错的东西:

#include<stdio.h>
float max(float s[]);
float min(float s[]);
void main(){
float k=0,s[10],m,l,aver,sum,temp;
int n;
printf("PLEASE INPUT THE SCORE OF TEN JUDGEMENTS:/n ");
for(n=0;n<=9;n++){
scanf("%f",&temp);
if(temp>=10&&temp<=100)
s[n]=temp;
else n=n-1;
}
for(n=0;n<=10;n++)
k+=s[n];
m=max(s);
l=min(s);
aver=(k-l-m)/8;
printf("THE TOTAL IS %f/nTHE MAX IS %f/nTHE MIN IS %f/nTHE AVERAGE IS %f/n",k,m,l,aver);
getch();
}
float max(float s[])
{
float i,j;
int k;
i=s[0];
for(k=1;k<=9;k++){
if(i<=s[k])
j=s[k];

i=j;/*就多了此处,逻辑上来说跟i=s[k]没区别啊*/

}
return i;
}

float min(float s[])
{
float i,j;
int l;
i=s[0];
for(l=1;l<=9;l++){
if(i>=s[l])
j=s[l];

i=j;/*就多了此处,也没什么区别啊,但是这个程序在调的时候,老是出现 floating point error:domain,上面改正过的就没有,哎,不知道为什么,看来c真的喜欢简洁的东西,呵呵,开个玩笑自嘲下吧*/

}
return i;
}

难道TC不喜欢废话么?疑问中~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值