请教大佬们一个问题

P1046 [NOIP2005 普及组] 陶陶摘苹果

yyx040602 @ 2019-11-03 16:55:08

这是我的程序

#include <iostream>
#include <cmath>
using namespace std;
int a[10];
int main ()
{
    int i=0 ;
    int height;
    for(int i=0;i<=9;i++)
    {
        cin>>a[i];
    }
    cin>>height;
    int most=height+30; 
    int k=0;
    for(int i=0;i<=9;i++)
    {
        if (most>=a[i])
        {
            k++; 
                 cout<<k;   
        }
    }
    return 0;
}

这是题解

#include<iostream>
#include<cmath>
using namespace std;
int a[15];
int main()
{
    int b,B,A;
    for(int i=1;i<=10;i++)
    cin>>a[i];
    cin>>b;
    B=b+30;
    int c=0;
    for(int i=1;i<=10;i++)
    {
        if(a[i]<=B)  
        c++ ;
    }
    cout<<c;
    return 0;
}

我的按照样例 “100 200 150 140 129 134 167 198 200 111 110” 输入后输出的是“12345” 题解输出的却是正确答案“5” 请问错误在哪?


by Sya_Resory @ 2019-11-03 16:56:43

@yyx040602 你这个每次k++都输出了


by Sya_Resory @ 2019-11-03 16:56:57

所以会把1~5都输出


by yyx040602 @ 2019-11-03 17:02:18

@Sky_Dreamer 谢谢


by zr太弱了 @ 2019-11-03 17:02:37

#include <iostream>
#include <cmath>
using namespace std;
int a[10];
int main ()
{
    int i=0 ;
    int height;
    for(int i=0;i<=9;i++)
    {
        cin>>a[i];
    }
    cin>>height;
    int most=height+30; 
    int k=0;
    for(int i=0;i<=9;i++)
    {
        if (most>=a[i])
        {
            k++; 

        }
    }
  cout<<k; 
    return 0;
}

by yyx040602 @ 2019-11-09 10:05:58

谢谢


|