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

của e đây :slight_smile: bài 2

#include <iostream>
using namespace std;

void main()
{
	int a=1,b=1;
	while(a<=5)
	{
		while(b<=a)
		{
			cout<<b;
			b=b++;
		}
		b=1;
		cout<<endl;
		a=a++;
	}
	system("pause");
}

bài 3 ae sửa giúp với

int i=0,dong=1,skt=1;
	while(i<=127)
	{
		cout<<(char) i;
		skt=skt++;
		if(skt==20)
		{
			cout<<endl;
			skt=1;
		}
		i=i++;
	}
system("pause");

Dùng i++ là được rồi không cần i=i++ đâu:

int i=0,dong=1,skt=1;
	while(i<=127)
	{
		cout<<(char) i;
		skt++;
		if(skt==20)
		{
			cout<<endl;
			skt=1;
		}
		i++;
	}
system("pause");
int main(int argc, char** argv) {
	int a=1;
	int c=1;
	while(a<=5)
	{
		int b=1;		
		c++;
		while(b<c)
		{		
			cout<<b<<" ";
			b++;
		}
	a++;
	cout<<endl;	
	}
	return 0;
}

Bài 3:

  int main(){
    	int row = 1, n = 5, i = 1;
    	while (row <= n){
    		while (i <= row){
    			cout << i << " ";
    			i++;
    		}
    		cout << endl;
    		i = 1;
    		row++;
    	}
    	system("pause");
    	return 0;
    }

bài 1 của mình

#include<iostream>

using namespace std;

int main()
{
	int i, tong = 0;
	cout << "Nhap vao mot so nguyen " << endl;
	cin >> i;
	while (i != 0)
	{
		tong = tong + i;
		cout << "nhap them tiep mot so nguyen " << endl;
			cin >> i;

	}
	cout << "tong cac so vua nhap la : " << tong << endl;
		system("pause");
}

Bài 1:

#include <iostream>

int main()
{
	int tong = 0;
	int n;
	while (true)
	{
		std::cin >> n;
		if (n == 0) break;
		else tong = tong + n;
	}
	std::cout << tong;
	return 0;
}

Bài 2:

#include <iostream>

int main()
{
	int i = 0;
	while (i <= 127)
	{
		std::cout << char(i);
		i++;
	}
	return 0;
}

Bài 3:

#include <iostream>

int main()
{
	int i = 1;
	while (i <= 5)
	{
		for (int j = 1; j <= i; j++)
		{
			std::cout << j<<" ";
		}
		std::cout << std::endl;
		i++;
	}
	return 0;
}

/Viết chương trình tính tổng các số nguyên được nhập từ bàn phím cho đến khi nhập số 0 thì dừng./

#include <iostream>
int main()
{
	int sum = 0;
	while (true)
	{
		int n;
		std::cin >> n;
		sum += n;
		if (n == 0)
		{
			break;
		}
	}
	std::cout << "sum = " << sum << std::endl;
	return 0;
}

Bỏ câu lệnh khai báo biến n này ra khỏi vòng while đi bạn, không nhất thiết phải để trong vòng while đâu :slight_smile:

Chỗ này có thể viết tắt bằng toán tử 3 ngôi là: n != 0 ? sum += n : break;

Khoảng trống sinh ra là do biến a chạy từ 1-5 nhưng các điều kiện while với b, c, e, f không thỏa mãn, chương trình chỉ xuất ra chỗ cout << endl;
Mình sửa code của bạn lại bằng cách bỏ biến a thì khoảng trống không còn nữa nhé :slight_smile:

#include<iostream>
#include<windows.h>
using namespace std;

int main()
{
	int a = 1,b=0,c=0,d=0,e=0,f=0;
	b++; c++; d++; e++; f++;
//	while (a <= 5)
//	{
		while (b <= 1)
		{
			cout << b;
			b++;
		}
		cout << endl;
		
		while (c <= 2)
		{
			cout << c << " ";
			c++;
		}
		cout << endl;

		while (d <= 3)
		{
			cout << d << " ";
			d++;		
		}
		cout << endl;
		while (e <= 4)
		{
			cout << e << " ";
			e++;
		}
		cout << endl;
		while (f <= 5)
		{
			cout << f << " ";
			f++;
		}
//		a++;
//	}
	system("pause");
	return 0;
}

tại sao e
k dùng được hàm Sleep nhỉ. mặc dù đã khai báo thư viện windows.h

#include<iostream>

using namespace std;

void Nhapsodongtamgiac(int &x){
	int a = 1;
	while (a <= x) {
		int i = 1;
		while (i <= a) {
			cout << i << " ";
			i++;
		}
		cout << endl;
		a++;
	}
}

int main() {
	int x;
	cout << "Nhap so dong tam giac!!" << endl;
	cin >> x;
	Nhapsodongtamgiac(x);

	system("pause");
	return 0;
}

bạn thử cái này nhé

Anh nên dùng:

#define   _CRT_OBSOLETE_NO_WARNING

code của em bài 1 mọi người tham khảo và cho ý kiến ạ :slight_smile:

#include <iostream>

int main(int argc, char* argv[])
{
	int n = 1;

	int T = 0;

	while (n != 0)
	{
		std::cin >> n;
		T += n;
	}

	std::cout << T << std::endl;

	system("pause");
	return 0;
}

Bài 2:

    #include <iostream>

    int main()
    {
        int n = 0;

        while(n < 255)
        {
            std::cout<<char(n)<<std::endl;
            n++;
        }

        return 0;
    }

Sao không ghi ngay từ đầu là unsigned char n;?

Với lại bạn phải ++n mới đầy đủ.

2 Likes

Bài 3 mình viết mọi người xem tinh là gọn không

int main() {
	int row=1,inner=1;
	while (row<=5) {
		++row;
		while (inner <= 5) {
			cout << inner;
			++inner;
			if (inner == row) break;
		}
		cout << endl;
		inner = 1;
	}
	
	cout << endl;
	system("pause");
	return 0;
}

Bài 1: mọi người tham khảo

#include<iostream>
using namespace std;
{
	int i=0;
	int tong = 0;
	while (i >= 0)
	{
		cin >> i;
		if (i == 0) break;
		cout << "Ban vua nhap so : " << i << endl;
		tong = tong + i;
		cout << "Tong cua cac so nguyen la " << tong << endl;
		int a = 0;
		while (a > i)
		{
			cin >> a;
			cout << "Ban vua nhap so : " << a << endl;
			tong = a + tong;
			cout << "Tong cua cac so nguyen la " << tong << endl;

		}
	}
	system("pause");
	return 0;
}
	int x, tinhTong;
	x = 1;
	tinhTong = 0;
	cout << "vui long nhap cac so nguyen can tinh tong" << endl;
	while (x!=0)
	{
		cin >> x;
		tinhTong = tinhTong + x;
		//cout << "gia tri toi thoi diem nhap: "<< tinhTong << endl;
		
	}
	cout << "tong cac so nguyen = " << tinhTong << endl;
	

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

	int ch;
	ch = 0;
	while (ch <= 127)
	{
		cout << char(ch) << "  ";
		ch++;
	}
	cout << endl;
	system("pause");
	return 0;

}

cái môn này em toàn bị trượt thôi, làm sao để học thuộc cái này nhỉ

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