Vòng lặp while trong ngôn ngữ C/C++

bài 2 đơn giản lắm bạn. Từ 0 đến 127 là sô nguyên nhưng nếu bạn đổi no sang biến char thì nó sẽ chuyển con số đó thành các kí tự (các chữ cái đều là số nguyên hết) cho nên đầu tiên bạn tạo biến char = 0. sau đó bạn cho vào vòng lặp while với điếu kiện nhỏ hơn 127. rồi thêm 1 dòng char ++ lúc này khi char = 0 <= 127 thì nó thỏa nên sẽ chạy tiếp ++, 1 <= 127 thì lúc này nó thỏa nên chạy tiếp tới khi đủ 127 thôi bạn

đáp án đơn giản của bài 3 :

Nên dùng for, code sẽ sáng hơn.
Cách của mình thì bài này 1 vòng for cũng được:

#include <iostream>

using namespace std;

int main()
{
  string s;
  for (int i = 1; i <= 5; ++i)
  {
    s += to_string(i);
    s += " ";
    cout << s << endl;
  }
  return 0;
}
1 Like

#Ex 3

#include <iostream>
using namespace std;

int main() {

	int i, j, k;
	
	i = 1; j = 1;
	while (i <= 5) {
		k = i;
		while (j <= k) {
			cout << j << " ";
			++j;
		}
		cout << endl;
		j = 1;
		++i;
	}

	system("pause");
	return 0;
}

Code em viết vậy ổn không ạ.

bạn bạn giải thích dùm mình cái đề bài 1 và phần biến i là gì với được không. tự học nên rối quá

#include <iostream>


using namespace std;
int main()
{
	int a = 1, i = 1;
	while (i <= 5)
	{
		
		a = 1;
		while (a <= i)
		{
			cout << a << " ";
			a++;
			
		}
		i++;
		cout << endl;
	}


	system("pause");
	return 0;

}

Bài 3 mình làm cách này có ổn không ạ?

Bài Tập 1:

#include "stdafx.h"
#include <iostream>

int main()
{
	int a{ 0 };
	int tong{ 0 };

	while (true)
	{
		std::cout << "Nhap so cho a: ";
		std::cin >> a;

		if (a != 0)
		{
			std::cout << "Tong = " << (tong += a) << std::endl;
		}
		else
		{
			break;
		}
	}

	std::cout << "\nTong = " << tong << std::endl;

	std::cout << "\nXin Cam On !" << std::endl;

    return 0;
}

Bài Tập 2:

#include "stdafx.h"
#include <iostream>


int main()
{
	int a{ 0 };
	int character{ 127 };

	while (a <= character)
	{
		std::cout << static_cast<char>(a) << std::endl;
		a++;
	}

    return 0;
}

Bài Tập 3:

#include "stdafx.h"
#include <iostream>

int main()
{
	int a{ 0 };

	while (a <= 5)
	{
		int b{ 0 };
		
		while (b <= a)
		{
			std::cout << b << " ";
			b++;
		}

		std::cout << std::endl;
		a++;
	}

    return 0;
}

Xin cảm Ơn ! Có chỗ nào sai xin mọi người chiếu cố với ! :grin:

1 Like
#include |iostream|

using namespace std;

int main() {
	int a = 1; int b = 1;
	while (a <= 5) {
		while (b <= a) {
			cout << b << " ";
			b++;
		}
		cout << "\n";
		b = 1;a++;
	}
	system("pause");
	return 0;
}
int main()
{
	int n{ 1 };
	while (n <= 127)
	{
		cout << static_cast<char>(n) << " ";
		n++;
	}

	system("pause");
	return 0;
}

day la bai 2 cua e
thuc ra thi e van chua hieu vong lap cho lam

1 Like

Bai 2

#include<iostream>
using namespace std;
int main(){
    int i;
    for(i=0;i<128;i++){
        cout<<i<<endl;
    }

}

Bai 3

#include<iostream>
using namespace std;
int main(){
    int a;
    for(a=1;a<2;a++){
        cout<<a<<" ";
    
    }
     cout<<endl;
    int b;
    for(b=1;b<3;b++){
        cout<<b<<" ";
       
    }
     cout<<endl;
    int c;
    for(c=1;c<4;c++){
        cout<<c<<" ";
    }
     cout<<endl;
        int d;
    for(d=1;d<5;d++){
        cout<<d<<" ";}
        cout<<endl;
        int e;
    for(e=1;e<6;e++){
        cout<<e<<" ";}
        cout<<endl;
    }
Bai 1
#include <iostream>
    using namespace std;

    int main(){
        int so, tong;
        cout<<"nhap so vao"<<endl;
        cin>>so;
        while(so>0){
            tong=tong+so;
            cout<<"nhap so vao"<<endl;
        cin>>so;
        
        }
        cout<<"Tong tat ca la="<<tong<<endl;
    }

A post was split to a new topic: Dùng vòng lặp while để chương trình không nhận số 0 và số âm

Biết là lâu rồi nhưng cho e đào mộ lại phát ạ! :joy: :joy: :joy:
Nếu biến m không để m++ thì ở vòng while ngoài, mỗi vòng nó sẽ nhảy lung tung hay tăng tuần tự vậy ạ?

Nó sẽ đứng yên nhé :smiley:

4 Likes

Không có m++ => m không đổi => vòng lặp vô tận. Không có m++ thì làm sao giá trị m thay đổi, còn muốn m nhảy lung tung thì cho nó cộng với giá trị ngẫu nhiên thôi.

2 Likes

Các quý nhân tham khảo giúp 3 bài em với có chỗ nào sai không ạ? Bài 2 làm sao để in ra tất cả các kí tự, có trong khung nhỉ trước 49 Decimal?

  1. BÀI 1:
using namespace std;
int main() {
    int n; 
    int sum = 0;
    cout << "Input n: " << endl;
    cin >> n;
    while (n != 0) {
        sum += n;
        cout << "Nhap n: " << endl;
        cin >> n;
    }
    cout << "The value of sum is: " << sum << endl;
    system("pause");
    return 0;
}
  1. BÀI 2:
using namespace std;
int main() {
    int i=0;
    do {
        cout << char(i) << endl; //Tại sao lại không in ra được các char phía trước 49 ạ?
        i++;
    }
    while (i <= 127);
    system("pause");
    return 0;
}
  1. BÀI 3:
int main() {
    int i = 1;
    while (i <= 5) {
        int j = 1;
        while (j <= i) {
            cout << j << " ";
            j++;
        }
        cout << endl;
        i++;
    }
    system("pause");
    return 0;
}
1 Like
#include<iostream>
using namespace std;
int main() {
	int x=1;
	while (x <= 5) {
		int y = 1;
		while (y <= x) {
			cout << y << " ";
			y++;

		}
		cout << endl;
		x++;
	}
	system("pause");
	return 0;
}
1 Like
#include<iostream>

int main(){
    int a=0;//khai bao bien a
    while(a<127){
    std::cout<<a<<"\t"<<static_cast<char>(a)<<std::endl;// ep kieu du lieu kys tu
    a++;//tang gia tri a
    }
    system("pause");
return 0;
}
1 Like

Bài 3 kết hợp while với for:
image

1 Like
#include <iostream>
using namespace std;
int main()
{
	int a=1,b;
	while(a<=5){
	    b=1;
	    while(b<=a){
	        cout<<b<<" ";
	        b+=1;
	    }
	    cout<<endl;
	    a+=1;
	}
	return 0;
}
1 Like

Mình phục ý tưởng của bạn luôn ấy !

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