G第一题的模拟为什么死活过不去?

G第一题的模拟为什么死活过不去
#include<bits/stdc++.h>
using namespace std;
int main(){
//     Q1得到参数
    int n;int k;int i;
    cin>>n;
    cin>>k;
//     Q2得到数组
    int a[n-1];
    for(i=0;i<=n-1;i++){
        cin>>a[i];
    }
//     Q3遍历并得到满足条件的个数
    int count =0;
    for(i=1;i<=n-1;i++){
    if((a[i]>a[i-1]*k)||(a[i]<(a[i-1]/k)))
        count++;}
    cout<<count;
}
哪里有逻辑上的漏洞?
---
没事了 a[i]应该定义成double类型,谢谢有被菜到
全部评论
除法那里加个类型转换
1 回复
分享
发布于 2022-05-21 21:36
为什么不改成a[i]*k<a[i-1]呢?
点赞 回复
分享
发布于 2022-05-21 21:46
联易融
校招火热招聘中
官网直投

相关推荐

2 收藏 评论
分享
牛客网
牛客企业服务