VideoNgôn Ngữ C - 17 - Vòng lặp: for

#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    //dung len for in ra man hinh day a-z.
    for (int i = 97; i < 123; i++)
        printf("%c ", i);
        printf("\n");
    //dung lenh for in ra man hinh day A-Z
        int i = 65;
        while (i< 91){
            printf("%c ",i);
            i++;
        }
 
    return 0;
}

#Đăng ký khóa học C++ cơ bản 2016 ( NEW ) tại đây :
#Thông tin về khóa học xem tại đây :

-Sự khác biệt giữa 2 khóa học cũ và mới :
+Khóa học C++ cơ bản 2016 là khóa học mới, được đầu tư nhiều hơn từ nội dung, phương pháp học, cách học hiệu quả.
+Trong khóa học còn có nhiều kiến thức mới như thực hành trên HackerRank, thực hành trên Codefights và Đạt nghĩ mọi người nên học khóa học mới, bởi vì đây là kiến thức mới, phù hợp với hiện tại… Mặt khác âm thanh cũng tốt hơn nhiều so với khóa học cũ giúp đỡ việc lắng nghe và hiểu được tốt hơn.

#Đăng ký khóa học C++ cơ bản 2016 tại đây :
#http://bit.ly/dangkymuakhoahoccpp

7 Likes

ai giúp mình cái bài tập với. :(( Suy nghĩ hoài mà ko ra

2 Likes

Bạn lập 1 topic riêng để nhờ mọi người giúp đỡ nhé.

4 Likes

Bài tập trong bài 17 hả?
@Is2IT nếu là bài tập trong bài 17 thì hỏi ở đây là tốt nhất :smile:

6 Likes

Có phải bài này không?

#include <stdio.h>

int main()
{
    //dung len for in ra man hinh day a-z.
    for (int i = 97; i < 123; i++)
        printf("%c ", i);
        printf("\n");
    //dung lenh for in ra man hinh day A-Z
        int i = 65;
        while (i< 91){
            printf("%c ",i);
            i++;
        }

    return 0;
}
4 Likes

tại sao i = 65. anh có thể giải thích đc ko :slight_smile:

1 Like

Theo bảng ASCII. 65 = ký tự ‘A’.

3 Likes

tks bác . thé là em còn phải học nhiều

3 Likes

cho em hỏi nữa là tại sao lúc thì 65 lúc thì 97 ^^!

Bạn nên xem lại, biến toàn cục và biến địa phương, vòng lặp

  int i = 65; // chỗ này gán i =65.
   while (i< 91){ // i< 91. Nếu i còn nhỏ hơn 91 thì chạy các lệnh dưới
            printf("%c ",i); //ban đầu in ra  kí tự tại 65 ='A';
            i++;    // i còn nhỏ hơn 91 thì mỗi lần i + 1. = 65 +1 = 66 = 'B';
   } // khi i = 91 thoát ra 
1 Like

Đây ý em là trên lệnh for thì i = 97 . Còn lệnh while thì i =65. Taiji sao

1 Like

Thì đó, mình bảo bạn xem lại biến địa phương hay biến cục bộ, Và biến toàn cục,
Cái i mà khai báo trong vòng for chỉ sử dụng được ở trong vòng for. ra ngoài Scope là cái này {…} nó sẽ không tồn tại

for (int i = 97; i < 123; i++){
     printf("%c ", i); // cái này chỉ dùng trong vòng for
     printf("\n");
} // đến đây là i = 97 không còn hiệu lực nữa này.

Khi ở ngoài nó không tồn tại thì mình tạo thêm 1 biến int i = 65; nữa chương trình cũng không có báo lỗi.

      int i = 65; // cái này là biến toàn cục. Dùng cho mọi nơi trong main()
1 Like

mình xây dựng bài với nha!=)) bài 1, 2 cuối clip này! còn bài 3 đang suy nghĩ :smile:

 #include< stdio.h >
 #include< conio.h >
 #include< string.h >
 void main()
{
	for (char i = 'a'; i <= 'z'; i++)
		printf("%c ", i);
	printf("\n\n");
	char i = 'A';
	while (i <= 'Z')
	{
		printf("%c ", i); 
		i++;
	}		
	getch();
}
2 Likes

@thienpp12 chào bạn, bạn xem bảng mã Ascii ở trang này http://www.asciitable.com/

  • Chữ in hoa ( A đến Z )
    bắt đầu 65 đến 90
  • Chữ thường ( a đến z )
    bắt đầu 97 đến 122
3 Likes

cho em hỏi bài 3 với :)))

Ai giúp mình bài 3 vs.

Có bạn giải trên youtube như này nhưng mình không hiểu cách thức các vòng for sẽ thực hiện từ đâu. hixhix. Bạn nào giải thik cho mình vs

int main()
{
    int n;
    printf("nhap vao so n= ");
    scanf("%d",&n);
    for(int i=0; i<=n; i++)
    {
        for(int j=0; j printf(".");
        {
            for(int k=1; k<=2*i+1; k++)
                printf("*");
            printf("\n");
        }
    }
}
1 Like
#include <stdio.h>
#include <conio.h>

int main()
{
	int i,j,n;
	printf("Nhap chieu cao tam giac ");
	scanf("%d",&n);
	for (i=0;i<=n;i++)
	{
		for (j=0;j<n-i;j++)
		    printf(" ");
		for (j=0;j<i;j++)
		    printf("* ");
		printf("\n");
	}
	getch();
	return 0;
}
4 Likes

Nếu được thì nhờ bạn giải thích một tí về ý tưởng của bạn khi giải bài toán này.

1 Like

Đơn giản là mình cho tạo " " (khoảng trống) đến giá trị thứ n-i (ví dụ n = 6 thì mình tạo 5 khoảng trống)
Rồi mình chạy tạo “* " vào ngay dòng đó xong mình xuống dòng
Là mình được 1 hàng
Cứ v giảm dần số lần tạo” " (khoảng trống) đến lúc = 0 và xuất tăng dần số lần tạo "* " lên đến lúc = n
Rồi nó sẽ chạy theo thứ tự nó sẽ hình thành các hàng tiếp theo của 1 tam giác cân

Xin lỗi mình giải thích hơi kém

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?