13232169210yjh @ 2023-01-11 19:54:10
int swap(double a[],int count){
int i,j;
double c;
for(i=0;i<count-1;i++){
for(j=0;j<count-1;j++){
if(a[j]<a[j+1]){
c=a[j];a[j]=a[j+1];a[j+1]=c;
}
}
}
return 0;
}
int main(){
int i,a,c;
scanf("%d",&a);
double b[a],sum=0,ext=0,app=0;
for(i=0;i<a;i++){
scanf("%lf",&b[i]);
}
swap(b,a);
for(i=1;i<a-1;i++){
sum+=b[i];
}
sum/=a-2;
for(i=1;i<a-1;i++){
ext=abs(b[i]-sum);
if(app<ext){
app+=ext;
ext=app-ext;
app-=ext;
}
}
printf("%.2lf %.2lf",sum,app);
}
我想问一下我这里错哪里了 为什么一直不过啊
by dengyujie2020 @ 2023-01-11 20:20:58
我先贴一下我的代码
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
float a[350],ans1,ans2,t,n;
int i,maxn,minn;
int main()
{
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
maxn=minn=1;t=0;
for(i=1;i<=n;i++)
{
if(a[minn]>a[i])
minn=i;
if(a[maxn]<a[i])
maxn=i;
t+=a[i];
}
t=t-a[maxn]-a[minn];
ans1=t/(n-2);
ans2=0;
for(i=1;i<=n;i++)
{
if(i!=maxn&&i!=minn)
{
t=abs(ans1-a[i]);
if(t>=ans2)
ans2=t;
}
}
printf("%.2f %.2f",ans1,ans2);
return 0;
}
by dengyujie2020 @ 2023-01-11 20:26:02
让我给你精修一下
奇怪的地方还是有很多的(悲
码风也有点清奇
验证码:67nb祭
by dengyujie2020 @ 2023-01-11 20:49:27
我尽力了 我是蒟蒻 我排序看不懂 我AFO了
#include<iostream>
#include <stdio.h>
#include <stdlib.h>//这是什么蒟蒻看不懂
int i,a,c;
double b[305],sum,ext,app;//定义在全局变量里,默认为零 特别是数组,一定要这样做!!
void swap(double a[],int count){
int i,j;
double c;
for(i=0;i<=count-1;i++){//目标位置
for(j=0;j<=i;j++){//交换下标
if(a[j]<a[j+1]){
c=a[j];a[j]=a[j+1];a[j+1]=c;
}
}
}
}
int main(){
scanf("%d",&a);
for(i=0;i<a;i++){
scanf("%lf",&b[i]);
}
swap(b,a);//其实这里可以改名成s_ort swap不准确
for(i=1;i<a-1;i++){
sum+=b[i];
}
sum=sum/((a-2)*1.0);
for(i=1;i<a-1;i++){
ext=abs(b[i]-sum);
if(app<ext)
app=ext;//正常点写,不要花里胡哨的
}
printf("%.2lf %.2lf",sum,app);
}
by 13232169210yjh @ 2023-01-12 09:17:41
@dengyujie2020 那个《stdlib.h》是abs函数的头文件 我看了,你给我改的代码,其中不同的是 你的改的中多了一个头文件 我在我原来的代码中也加了那个头文件,其他的不改动,结果跟你改动后的一样,但是还是不能AC 另一个我想问一下那个头文件是干嘛的为什么一加就接近AC而我之前不加的时候就一直是10分
by 13232169210yjh @ 2023-01-12 13:05:47
@dengyujie2020 大佬,我解出来了 我之前的代码没有问题 就是缺少你加的那个头文件 你能跟我说一下那个头文件是干嘛的? 为什么加就可以过,不加就不能过啊
by dengyujie2020 @ 2023-01-12 22:42:28
@13232169210yjh emm iostream 是c++里标准输入输出要加的头文件。
by dengyujie2020 @ 2023-01-12 22:43:05
我一般是直接加的,或者写万能头。我也没在意这件事,我不懂(悲 帮不了您了
by 13232169210yjh @ 2023-01-13 13:49:32
@dengyujie2020 、 好吧,总之还得谢谢你