第一行包含一个整数 𝑁 — 序列中元素的数量。第二行包含 𝑁 空格分隔的整数——序列本身。序列中所有元素的绝对值不超过100 输出数据格式:输出三个实数。第一个显示了负数的比例。第二个是数字的百分比为零。最后 - 正数的比例是多少。每个输出数字必须与其正确值相差不超过 10^-5。这是我的程序。请告诉我该怎么做/修复。我还在学习如何做简单的谜题:)
#include<stdio.h>
int main(){
int i, N, a, b, c, A, B, C, k;
a=b=c=0;
scanf("%d", &N);
for (i=0; i<=N; i++){
scanf("%d", &k);
if (k==0){
b++;
}
if(k>0){
c++;
}
if(k<0){
a++;
}
}
A=a/(double)N;
B=b/(double)N;
C=c/(double)N;
printf("%0.5lf %0.5lf %0.5lf", A, B, C);
}
一切几乎都是正确的。只有这里
您需要严格地减少
N
准确输入N
数字,而不是像您一样多输入一个。和变量一样
A
,应该是。B
C
double
所以它应该是这样的