30/09/2018, 23:31
Giúp em về lập trình C ạ!
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
const int MAX=100, MIN=1;
int soBiMat, soBanTim;
srand(time(NULL));
soBiMat=(MIN+rand()%(MAX-MIN+1));
printf("So ban can tim la bao nhieu? ");
scanf("%d", &soBanTim);
if(soBanTim<soBiMat)
{
while(soBanTim<soBiMat)
{
printf("Lon hon!
");
printf("So ban can tim la bao nhieu? ");
scanf("%d", &soBanTim);
}
}
else if(soBanTim>soBiMat)
{
while(soBanTim>soBiMat)
{
printf("Nho hon!
");
printf("So ban can tim la bao nhieu? ");
scanf("%d", soBanTim);
}
}
else(soBanTim=soBiMat);
{
printf("Chuc mung! Ban da tim duoc so bi mat!!!
");
}
return 0;
}
Khi em chạy chương trình thì cái số ngẫu nhiên nó cứ rơi vào 50, 70 ,90
Các anh xem dùm em mấy cái dòng code của em có sai xót gì không ạ!
Thanks all!
Bài liên quan
Hàm
scanf("%d", soBanTim);
có vẻ không đúng với ý định của bạngiờ sửa sao bạn ơi? mình bó tay rồi
Bạn thêm dấu
&
vàosoBanTim
đểscanf
truyền giá trị nhập vào thôi mà.else
cuối cùng thì bạn bỏ điều kiện so sánh đi hoặc thêmif
vào. Chỗ này lỗi cú pháp.Mà nhân tiện. Bạn nên đổi tên cái bài tập này là SINH VIÊN ĐÁNH ĐỀ rồi nộp cho thầy. Giống y trang à:joy:
tức là giờ mình bỏ
&soBanTim
để giá trị củasoBanTim
ban đầu không bị thay đổi đúng không?Mình sửa đoạn code của bạn như trên rồi đấy
Ok, thank you very nhiều nha!
Xong rồi bạn ơi
Mình nghĩ là bạn nên viết như đoạn mới này trông có vẻ ổn hơn này.
Mình chưa thử vòng lặp do…while nhưng thấy dòng code của bạn thì mình thấy rõ ràng và dễ hiểu hơn nhiều
Cảm ơn nhiều nha!