Tiếp nối Việt Hàn coder tuần 1. Lần này tôi tiếp tục mở lại chương trình này cho các bạn tham gia. không giống lần thứ nhất. đề bài tập trung vào cấu trúc dữ liệu và rất ít người tham gia, lần này sẽ mở rộng ra để giải quyết các bài toán thực tế. Khởi đầu sẽ là bài: Vẽ tam giác số sau 1 2 3 2 3 4 5 4 3 4 5 6 7 6 5 4 5 6 7 8 9 8 7 6 5 6 7 8 9 0 1 0 9 8 7 6 7 8 9 0 1 2 3 2 1 0 9 8 7 8 9 0 1 2 3 4 5 4 3 2 1 0 9 8 9 0 1 2 3 4 5 6 7 6 5 4 3 2 1 0 9 0 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 0 Sau khi bài này được giải, các bạn có thể tùy ý ra đề, nhưng đề không được quá sơ sài. - Hôm nay là thứ 2, hạn cuối là thứ 2 tuần sau. mời các bạn đã và đang học C/C++ thử sức. - Bạn nào làm đúng nhiều câu nhất trong tuần hoặc trả lời được câu khó sẽ được đặt danh hiệu cá nhân tùy ý. Lưu ý: Người ra đề có thể là bất kỳ ai, chỉ cần bạn là người trả lời nhiều câu hỏi nhất hoặc tham gia tích cực.
Làm được 5 hàng đâu rùi. 5 hàng cuối bị lỗi. Nó tăng dần lên luôn. làm sao để giới hạn <10 Mọi người test code này thử. Số dòng = 10 PHP: #include<conio.h>#include<stdio.h>int main(){clrscr();int i=1,j,k,l;printf("so hang:") ;do scanf("%d",&l) ;while(l<=0);printf("\n");for( ;i<=l;i++){j=i;for(k=1;k<=l-j;k++)printf(" ");for( ; j<2*i-1; j++)printf("%d",j%10);for( ; j>=i; j--)printf("%d",j%10);printf("\n");}getch();return 0;}
Bon chen chút. 10 hàng ok: #include<stdio.h> #include<conio.h> int i,j,n, a[10]; void main() { for (i=0;i<10;i++) { a=i; } for (i=1;i<10;i++) { n = 10 - i; for (j=1;j<n;j++) { printf(" "); } if (i==1) printf("1\n"); else { for (j=0;j<i;j++) { n=i+j; if(n<10) printf("%d",a[n]); else printf("%d",a[n-10]); } for (j=i-2;j>=0;j--) { if((i+j)<10) printf("%d",a[i+j]); else printf("%d",a[i+j-10]); } printf("\n"); } } getch(); } Sau một hồi căng não, cũng chạy ngon lành.
Cái này lúc học C# trong giáo trình có đưa đâu hỏi ntn .... cũng không biết ntn ... mày mò 4 ngày mới ra ntn.. không in ra được hình tam giác... chỉ in ra đc dãy số thôi Mã: #include <iostream> using namespace std; int main() { int i=0, j=1; for (j=1;j<11;j++) { for (i=0;i<j;i++) cout<<(i+j)%10; i=i+j-1; for (i=i-1;i>=j;i--) cout<<i%10; cout<<" "<<endl; } return 0; }
Chào Việt Hàn IT Bài này cũng khá đơn giản! không chỉ 10 dòng đâu, thuật toán phía dưới mời bạn nhập bao nhiêu tùy ý! PHP: #include <stdio.h>#define MAX 15void main(){ int i,j,k,t; clrscr(); for(i=1;i<=MAX;i++){ for(k=1;k<=(MAX+1)-i;k++){ printf(" "); } for(j=0;j<i;j++){ if((i+j)<10) printf("%d ",i+j); else printf("%d ",(i+j-(10*((i+j)/10)))); } for(t=2;t<=i;t++){ if((i+j-t)<10) printf("%d ",(i+j-t)); else printf("%d ",(i+j-t-(10*((i+j-t)/10)))); } printf("\n"); } getch();}
So sánh: và nếu i và j >= 10 thì cách của chaoviethan mới giải quyết được. Bài của bạn làm rất tốt. Mời các bạn ra tiếp đề 2.