为啥什么都没输出啊?

#include
using namespace std;
int main(){
const int n=50;
const int m=40;
int i,k,t;
t=0;
k=0;
int N[n];
for(i=0;i<n;i++){N[i]=1;}
do{
for(i=0;k>=0;i++){

        if(N[i]==1){t++;}
        if(N[i]==0) continue;
        if(t==m) {N[i]=0;k++;t=0;}
        if(i==(n-1)) break;

                      }
    } while(k<(n-1));


for(i=0;i<n;){
 if(N[i]==1)  cout<<i; break;
i++;
}

return 0;
}

if(N[i]==1) cout<<i; break;
应该改为
if(N[i]==1) {cout<<i; break;}吧。不然循环只会执行一次就break掉了

if(N[i]==1)
这个条件不成立,就不输出了。

int main(){
const int n=50;
const int m=40;
int i,k,t;
t=0;
k=0;
int N[n];
for(i=0;i<n;i++){N[i]=1;}
do{
for(i=0;k>=0;i++){
        if(N[i]==1){t++;}
        if(N[i]==0) continue;
        if(t==m) {N[i]=0;k++;t=0;}
        if(i==(n-1)) break;
 
                      }
    } while(k<(n-1));
 
 
for(i=0;i<n;){
 if(N[i]==1){
   cout<<i; 
   break;
  }
  i++;
}
return 0;
}

for 循环中 break;直接退出循环了

把 break;去掉,或者放到if() 的{}中

    for (i = 0; i < n;)
    {
        if (N[i] == 1){
            cout << i;
            break;
        }
        i++;
    }