答案能算出来为什么提交全错,那个好心人过爱看看

B2054 求平均年龄

shuiyou1 @ 2024-08-29 15:37:00

include<bits/stdc++.h>

using namespace std; int main() { int a,b; double sum = 0; cin>>a; for(int i;i<=a;i++) { cin>>b; sum+=b; } printf("%.2lf",sum/a); return 0; }


by dream_dad @ 2024-08-29 15:40:22

@shuiyou1 i没赋初值


by 123456789yzx @ 2024-08-29 15:41:10

循环应该改成for (int i = 1; i <= a; i++) 你没有让 i=1


by luogu_00 @ 2024-08-30 08:08:29

代码

#include<bits/stdc++.h>
using namespace std;
int main(){
  int a,b;
  double sum = 0;
  cin>>a;
  for(int i;i<=a;i++){
    cin>>b;
    sum+=b;
  }
  printf("%.2lf",sum/a);
  return 0;
}

代码分析

7 行的for循环,你的i没有初始化,那么由于i不是全局的,它会变成一个随机的数,有可能你的for没有执行,第 7 行应该是for(int i=1;i<=a;i++)因为有a个学生,需要输入a次。

正确代码

#include<bits/stdc++.h>
using namespace std;
int main(){
  int a,b;
  double sum = 0;
  cin>>a;
  for(int i=1;i<=a;i++){
    cin>>b;
    sum+=b;
  }
  printf("%2.lf",sum/a);
  return 0;
}

by shuiyou1 @ 2024-08-30 14:07:33

@123456789yzx 谢谢


by shuiyou1 @ 2024-08-30 14:07:48

@dream_dad 谢谢


|