Em đang học lập trình c, bài tập thầy ra có một ý như vầy
Cho mảng 𝐴 gồm 𝑛 ≤ 10^6 phần tử nguyên, các phần tử được đánh thứ tự từ 0. Viết các chương trình con
thực hiện:Một đường chạy có độ dài 𝑘(𝑘 ≥ 1) là một dãy con dài nhất thỏa 𝐴[𝑖] ≤ 𝐴[𝑖 + 1] ≤ ⋯ ≤ 𝐴[𝑖 + 𝑘 − 1].
Xuất ra tất cả đường chạy của mảng, mỗi đường chạy trên một dòng
em code như vầy:
void duongChay(int a[],long long n,long long k) { long long t=k; xepTang(a,n); for(long long i=0;i<k;i++) { printf("a[%lld]:%d\t",i,a[i]); } if(k!=n) { for(long long i=k;i<k+t;i++) { printf("\n"); printf("a[%lld]:%d\t",i,a[i]); } k+=t; } }
nhưng lúc chạy không như ý muốn ạ
em nhập 5 phần tử
a[0]:1
a[1]:2
a[2]:3
a[3]:4
a[4]:5
sau đó em nhập k = 2
thì cho ra kết quả là
a[0]:1 a[1]:2
a[2]:3
a[3]:4
chỉ có dòng đầu đúng ạ 
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?