Yêu cầu:
Viết chương trình nhập vào số nguyên chỉ số đo độ của một góc và cho biết nó thuộc góc phần tư thứ mấy trên đường tròn lượng giác
Phân tích:
– Nhập vào số đo lượng giác bất kỳ ( x > 0).
– Xác định cung lượng giác theo điều kiện dưới đây:
Góc phần tư thứ I: (360*k) <= x < (90 + 360*k) Góc phần tư thứ II: (90 + 360*k) <= x < (180 + 360*k) Góc phần tư thứ III: (180 + 360*k) <= x < (270 + 360*k) Góc phần tư thứ III: (270 + 360*k) <= x < 360*(k+1)
(k = 0, 1, 2,...)
Code:
/************************************************************ * Author: VNCODING * History * 2014/03/17 first create VNCODING *************************************************************/ #include "stdio.h" #include "conio.h" void main() { int angle, k; do { printf("\n Nhap vao so do goc (0 <= x <= 360*k) = "); scanf("%d", &angle); }while(angle < 0); k = angle / 360; if(angle >= (360*k) && angle < (90 + 360*k)) printf("\n %d o goc phan tu thu I", angle); else if (angle >= (90 + 360*k) && angle < (180 + 360*k)) printf("\n %d o goc phan tu thu 2", angle); else if (angle >= (180 + 360*k) && angle < (270 + 360*k)) printf("\n %d o goc phan tu thu 3", angle); else if (angle >= (270 + 360*k) && angle <= 360*(k + 1)) printf("\n %d o goc phan tu thu 4", angle); else printf("\n %d khong hop le"); getch(); }
Kết quả:
Nhap vao so do goc (0 <= x <= 360*k) = 567 567 o goc phan tu thu 3
Code ở trên chưa tối ưu bạn ơi, nếu nhập số âm sẽ bị sai, bạn sửa lại nhé.
ThankThành Hồ-Sỹ đã góp ý. Mình sẽ update thêm
// xác định góc nằm ở phần tư nào
#include
using namespace std;
int main(){
int k, x;
cout <> x;
if (x >= 0){
k = x / 360 ;
if (x >= k * 360 && x < 90 + k * 360) cout << "Goc ban nhap nam o phan tu thu nhat" <= 90 + k * 360 && x < 180 + k * 360) cout << "Goc ban nhap nam o phan tu thu hai" <= 180 + k * 360 && x < 270 + k * 360) cout << "goc ban nhap nam o phan tu thu 3" <= 270 + k * 360 && x < (k + 1) * 360) cout << "Goc ban nhap nam o phan tu thu 4" << endl;
else cout << "Ban nhap khong dung" <= k * 360 && x < 90 + k * 360) cout << "Goc ban nhap nam o phan tu thu nhat" <= 90 + k * 360 && x < 180 + k * 360) cout << "Goc ban nhap nam o phan tu thu hai" <= 180 + k * 360 && x < 270 + k * 360) cout << "goc ban nhap nam o phan tu thu 3" <= 270 + k * 360 && x < (k + 1) * 360) cout << "Goc ban nhap nam o phan tu thu 4" << endl;
else cout << "Ban nhap khong dung" << endl;
}
system("pause");
return 0;
}
angle bên trên dòng code có ý nghĩa j vậy bạn
angle là tên biến cho góc mà mình nhập vào đấy
máy anh sử dụng chương trình gì de viet code thế ạ?
#include
#include
#include
int main()
{
float a, k;
printf(“Nhap so do a =”);
scanf_s(“%f”, &a); k = a;
if (a < 0)
{
for (int i = 1; k < 0; i++)
{
k += 360 * i;
}
if ((0 k))
printf(“Goc phan tu thu nhat”);
else if (180 > k)
printf(“Goc phan tu thu hai”);
else if (270 > k)
printf(“Goc phan tu thu ba”);
else printf(“Goc phan tu thu tu”);
}
else
{
for (int i = 1; 360 < k; i++)
{
k -= 360 * i;
}
if ((0 k))
printf(“Goc phan tu thu nhat”);
else if (180 > k)
printf(“Goc phan tu thu hai”);
else if (270 > k)
printf(“Goc phan tu thu ba”);
else printf(“Goc phan tu thu tu”);
}
_getch();
return 0;
}
Code của bạn bị lỗi nếu nhập vào số đo góc là 360
(n % 360)/90 + 1
Code của mình như này thì được không nhỉ? Có bị trường hợp nào đặc biệt không?
@Quang Linh cho mình hỏi việc có hay không có do while có ảnh hưởng gì đến bài toán không mình thử bỏ do while ra thì vẫn thấy nó đúng
Vậy còn TH mà Số nguyên nhập vào BÉ HƠN 0 thì sao ạ . ??
#include
using namespace std;
int main() {
int goc,gocrutgon;
while(1) {
cout<>goc;
if(goc>0) gocrutgon=goc%360;
else gocrutgon=360+goc%360;
if(gocrutgon>270) cout<<goc<<" Thuoc "<<"Goc phan tu thu IV"<180) cout<<goc<<" Thuoc "<<"Goc phan tu thu III"<90) cout <<goc<<" Thuoc "<<"Goc phan tu thu II"<<endl;
else cout<<goc<<" Thuoc "<<"Goc phan tu thu I"<<endl;
}
}