这是什么问题?求大佬帮助!
2025-07-11 17:42:45
发布于:浙江
40阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
double cnt = 0,a;
cin >> n;
for(int i = 1;i <= n;i++){
cin >> a;
if(a >= 70){
if(a % 70.0 < 35.0){
cnt = cnt + a / 70 * 0.1+0.1;
}else{
cnt = cnt + a / 70 * 0.1;
}
}else{
cnt += 0.1;
}
}
printf("%.1f",cnt);
return 0;
}
呃呃呃呃
全部评论 4
(我复制的)#include <iostream> using namespace std; int n,x; double cnt; int main() { cin>>n; for(int i=0;i<n;i++){ cin>>x; cnt+=x/70+(x%70!=0); } printf("%.1f",cnt*0.1); }1周前 来自 上海
0把double a改成int a,然后就是条件判断那里有问题,可以参照下面这段代码
if(num<=70) result+=0.1; else if(num>70&&num%70!=0) result+=(num/70+1)*0.1; else if(num>70&&num%70==0) result+=(num/70)*0.1; //把num替换成a,result替换成cnt;因为输入的数据要么小于等于70,要么大于70;在大于70的情况下,因为int的除法是直接抹去小数部分,再加上题目中的“不满70按70算”,所以还要判断是否是70的倍数。
接着把cin改成scanf(),scanf比cin更快,在#include<iostream> or #include<stdio.h> or #incldue<cstdio>这三个头文件中都包含scanf和printf
最后尽量不要使用万能头,因为编译时间长,还会导致一系列可能的污染问题2025-10-11 来自 福建
0不适隔门直接照搬评论啊
1周前 来自 浙江
0
把double a改成int a,然后就是条件判断那里有问题,可以参照下面这段代码
if(num<=70) result+=0.1; else if(num>70&&num%70!=0) result+=(num/70+1)*0.1; else if(num>70&&num%70==0) result+=(num/70)*0.1; //把num替换成a,result替换成cnt;因为输入的数据要么小于等于70,要么大于70;在大于70的情况下,因为int的除法是直接抹去小数部分,再加上题目中的“不满70按70算”,所以还要判断是否是70的倍数。
接着把cin改成scanf(),scanf比cin更快,在#include<iostream> or #include<stdio.h> or #incldue<cstdio>这三个头文件中都包含scanf和printf
最后尽量不要使用万能头,因为编译时间长,还会导致一系列可能的污染问题2025-10-06 来自 广东
0double不能取余数,然后printf里写错了
2025-07-30 来自 浙江
0





















有帮助,赞一个