数列问题+不确定循环次数1。哪里错了?

题目描述
将数列1 2 3 4 5 从第一项开始不断累加,问累加到第几项的时候刚好大于50?

输入

输出
一行,包含1个数,表示将题目中的数列累加到第n项的时候刚好大于50。

样例输出 Copy
根据具体结果输出(答案唯一)

写法如下,哪里不对?

img

#include<iostream>

using namespace std;

int main(){
    int i=1,a=1,s=0;
    while (s<=50){
        s+=a;
        a+=1;
        i+=1;
    }
    cout<<i-1;
    return 0;}


n是啥,n都没赋值,就参与判断,能对才怪
要么你写while(sum<50),后面的if和break就可以删掉了
要么你直接写while(1)