我想在输入的一串字符中 减去最小和最大值后 输出数据的总和

来源:百度知道 编辑:UC知道 时间:2024/05/22 21:53:40
我是这样做的 最后总和老是求不出 请各位帮帮忙 谢谢
#include<stdio.h>
main()
{char ch;
float a,sum=0,max,min;
scanf("%f",&a);
min=max=a;
while(ch!='\n')
{scanf("%f",&a);
ch=getchar();
sum=sum+a;
if(a>max) max=a;
else if(a<min) min=a;
}
sum=sum-max-min;
printf("Your final score is:%.2f\nmax=%.2f,min=%.2f\n",sum,max,min);
}

你的问题在第八行,你的sum是从输入的第二个a开始加的,所以怎么算都不对,但是你最大数最小数是对的,其实很简单,把第一个a加上就行了,修改后程序如下
#include<stdio.h>
main()
{char ch;
float a,sum=0,max,min;
scanf("%f",&a);
min=max=a;
sum=sum+a;
while(ch!='\n')
{scanf("%f",&a);
ch=getchar();
sum=sum+a;
if(a>max) max=a;
else if(a<min) min=a;
}
sum=sum-max-min;
printf("Your final score is:%.2f\nmax=%.2f,min=%.2f\n",sum,max,min);
}