求助!!为何出错!?

P5726 【深基4.习9】打分

Ly145666 @ 2023-12-08 18:48:04

include<iostream>

include<iomanip>

using namespace std; int main() { int x,y,z,a,b; cin>>x; y=0;a=0; for(int i=x;i>=1;i--) { cin>>z; if(z>y) y=z; if(z<a) a=z; b+=z; } cout<<fixed<<setprecision(2)<<1.0*(b-a-z)/(x-2); return 0; }


by kkksc_san @ 2023-12-17 13:55:06

您的代码很工整


by kkksc_san @ 2023-12-17 13:55:46

我看不出来该怎么改


by kkksc_san @ 2023-12-19 13:59:53

求你了换个行


by Ly145666 @ 2024-01-01 15:08:50

#include<iostream>
#include<iomanip> 
using namespace std;
int main() { int x,y,z,a,b; cin>>x; y=0;a=0;
for(int i=x;i>=1;i--) {
  cin>>z; if(z>y) y=z; if(z<a) a=z; b+=z; } cout<<fixed<<setprecision(2)<<1.0*(b-a-z)/(x-2); return 0; }

by hoty2011 @ 2024-01-01 16:50:55

首先,累计总值的b因为定义在main函数里面,如果不赋初值0的话,z就等于一个随机值。可以把b定义在main函数外,也可以赋个初值0。

如下:

int x,y,z,a,b=0;

或:

int x,y,z,a,b;

int main(){

其次,求最小值的变量a,它的初值应该为大于10的任何一个数,因为题目说了:z是0-9之间的任何一个数。

如下:

y=0;a=11;

最后,输出的表达式的:1.0*(b-a-y)/(x-2)中,b不应该减z,应该减求最小值的变量y。

如下:

cout<<fixed<<setprecision(2)<<1.0*(b-a-y)/(x-2);

就AC了。


|