C喜欢简洁的东西,呵呵

来源:互联网 发布:淘宝上卖明星同款 编辑:程序博客网 时间:2024/04/26 03:46

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

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

#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不喜欢废话么?疑问中~~~

原创粉丝点击