注册 登录
编程论坛 C++教室

程序为什么错误

DDQ13 发布于 2018-10-28 21:47, 1779 次点击
#include<cstdio>
int main()
{ int n;
  float b=0,c=0,d=0,e=0;
  scanf("%d",&n);
  int a[n+1];
  for(int i=1;i<=n;++i)
     scanf("%d",a[i]);
  for(int i=1;i<=n;++i)
  {
      if((0<=a[i])and(a[i]<=18))
        b+=1;
      else if((19<=a[i])and(a[i]<=35))
        c+=1;
      else if((36<=a[i])and(a[i]<=60))
      d+=1;
    else if(61<=a[i])
      e+=1;   
  }
  b/=n;
  c/=n;
  d/=n;
  e/=n;
  printf("%.2f %.2f %.2f %.2f",b,c,d,e);
  return 0;

}
8 回复
#2
DDQ132018-10-28 22:20
#3
rohalloway2018-10-28 22:44
and 改成 &&
int a[n+1]; 这里用new动态创建
#4
MC1892018-11-04 15:32
scanf("%d",a[i]);//少了什么东西
#5
MC1892018-11-04 15:32
scanf("%d",a[i]);//少了什么东西
#6
Jonny02012018-11-04 15:56
scanf("%d",a + i);
scanf 需要一个指针
#7
Jonny02012018-11-04 15:57
以下是引用rohalloway在2018-10-28 22:44:43的发言:

and 改成 &&
int a[n+1]; 这里用new动态创建


and 并没有任何问题
and 是 C++ 11 的新特性
#8
cstdio2018-12-24 17:38
如果and出现编译错误,可以用#define and &&解决问题
#9
rjsp2018-12-25 09:54
贴题目要求
1