Tin học [C++] Tại sao lại làm như vậy?

Nguyễn Linh_2006

Cựu Mod Hóa
Thành viên
23 Tháng sáu 2018
4,076
12,759
951
Nam Định
THPT chuyên Lê Hồng Phong
[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Bài 1: Nhập vào số N, in ra số các số nhỏ hơn hoặc bằng N^2 và lớn hơn hoặc bằng N + 1 (N ≤ 15);
#include <iostream>
using namespace std;
int main()
{
int n,i,d;
cin>>n;
d=0;
for(i=n+1;i<=n*n;i++) d++;
cout<<d;
return 0;
}

Tại sao lại dùng câu lặp for?

Bài 2:
Nhập vào chữ cái A thường và số N, in ra chữ cái thường đứng sau A N đơn vị
(chú ý: các chữ cái xếp theo vòng tròn,
vì thế trường hợp chữ cái của input là 'z' và N = 1 thì đáp án là 'a')
(N ≤ 10)


#include <bits/stdc++.h>
using namespace std;
int main()
{
char a;int n,b;
cin>>a;cin>>n;
if(a>='a' && a<='z')
{
b=int(a)+n;
cout<<char(b);
}
return 0;
}
Hmm.... char là hàm gì? Giải thích cạn kẽ vì sao làm như vậy hộ em ạ!
Em cảm ơn!
 

ka1412

Học sinh chăm học
Thành viên
24 Tháng mười một 2017
874
730
121
Hà Nội
CNN | Life
Bài 1: Nhập vào số N, in ra số các số nhỏ hơn hoặc bằng N^2 và lớn hơn hoặc bằng N + 1 (N ≤ 15);
#include <iostream>
using namespace std;
int main()
{
int n,i,d;
cin>>n;
d=0;
for(i=n+1;i<=n*n;i++) d++;
cout<<d;
return 0;
}

Tại sao lại dùng câu lặp for?

Bài 2:
Nhập vào chữ cái A thường và số N, in ra chữ cái thường đứng sau A N đơn vị
(chú ý: các chữ cái xếp theo vòng tròn,
vì thế trường hợp chữ cái của input là 'z' và N = 1 thì đáp án là 'a')
(N ≤ 10)


#include <bits/stdc++.h>
using namespace std;
int main()
{
char a;int n,b;
cin>>a;cin>>n;
if(a>='a' && a<='z')
{
b=int(a)+n;
cout<<char(b);
}
return 0;
}
Hmm.... char là hàm gì? Giải thích cạn kẽ vì sao làm như vậy hộ em ạ!
Em cảm ơn!
Bài 1: Dùng for để in các số trong khoảng mà đề bài cho :)
Bài 2: char là hàm để in ra kí tự từ vị trí đã cho trong bảng ascii. Trong bài thì vị trí của kí tự đó được lưu vào biến b.
 

Nguyễn Trần Tuấn Kiệt

Banned
Banned
Thành viên
7 Tháng ba 2019
21
15
6
22
Phú Yên
THPT Chuyên Hoàng Cơ Minh
Bài 1: Nhập vào số N, in ra số các số nhỏ hơn hoặc bằng N^2 và lớn hơn hoặc bằng N + 1 (N ≤ 15);
#include <iostream>
using namespace std;
int main()
{
int n,i,d;
cin>>n;
d=0;
for(i=n+1;i<=n*n;i++) d++;
cout<<d;
return 0;
}

Tại sao lại dùng câu lặp for?

vòng for là 1 vòng lạp, đối số 1 là dieu kiện bắt đầu với biến truyen vào, đối số 2 là dieu kiện so sánh bien truyen vào để ket thúc vòng lap, đối số 3 là giá trị bien truyen vào sau khi thuc hien xong 1 chtr trong vòng lặp

ví dụ đơn giản thế này

Chương trình in ra màn hình bằng Serial-UART cho ATmega328p
#define F_CPU 16000000UL // Clock Speed
#define BAUD 9600
#define MYUBRR F_CPU/16/BAUD-1

#include <avr/io.h>
#include <avr/delay.h>

void USART_Init(unsigned int ubrr) {
/*Set baud rate */
UBRR0H = (unsigned char)(ubrr>>8);
UBRR0L = (unsigned char)ubrr;

//Enable receiver and transmitter
UCSR0B = (1<<RXEN0)|(1<<TXEN0);

/* Set frame format: 8data, 2stop bit */
UCSR0C = (1<<USBS0)|(3<<UCSZ00);
}

void USART_Transmit(unsigned char data)
{
/* Wait for empty transmit buffer */
while (!(UCSR0A & (1<<UDRE0)));
/* Put data into buffer, sends the data */
UDR0 = data;
}

int main(void){
USART_Init(MYUBRR);
char stringToSend[] = "Hello, World ! \n";
while(1){
for (int i=0; i<sizeof(stringToSend)-1;i++){
USART_Transmit(stringToSend);
}
_delay_ms(1000);
}
}
 
Top Bottom