khi nào tôi cho quét()
Khi nhập một giá trị
Nó chỉ bỏ qua phần thứ hai, thứ ba và bất kỳ phần nào tiếp theo quét()
.
Đây là mã của tôi:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
int main()
{
float manyTest, gr1, gr2, gr3, gr4, gr5, gr6, gr7, gr8;
manyTest = gr1 = gr2 = gr3 = gr4 = gr5 = gr6 = gr7 = gr8 = 0;
printf("Bạn muốn tính trung bình bao nhiêu bài kiểm tra? (Tối thiểu 1 Tối đa 8)\n");
scanf(" %f", &manyTest);
if (manyTest <= 0) {
printf("Tối thiểu là 1!\n");
} else
if (manyTest > 8) {
printf("Tối đa là 8!\n");
} khác {
nếu (manyTest = 1) {
printf("Viết điểm của bạn trong các bài kiểm tra đó:\n");
scanf(" %f", &gr1);
} else
nếu (manyTest = 2) {
printf("Viết điểm của bạn trong các bài kiểm tra đó:\n");
scanf(" %f", &gr1);
scanf(" %f", &gr2);
} else
nếu (manyTest = 3) {
printf("Viết điểm của bạn trong các bài kiểm tra đó:\n");
scanf(" %f", &gr1);
scanf(" %f", &gr2);
scanf(" %f", &gr3);
} else
nếu (manyTest = 4) {
printf("Viết điểm của bạn trong các bài kiểm tra đó:\n");
scanf(" %f", &gr1);
scanf(" %f", &gr2);
scanf(" %f", &gr2);
scanf(" %f", &gr3);
scanf(" %f", &gr4);
} else
nếu (manyTest = 5) {
printf("Viết điểm của bạn trong các bài kiểm tra đó:\n");
scanf(" %f", &gr1);
scanf(" %f", &gr2);
scanf(" %f", &gr2);
scanf(" %f", &gr3);
scanf(" %f", &gr4);
scanf(" %f", &gr5);
} else
nếu (manyTest = 6) {
printf("Viết điểm của bạn trong các bài kiểm tra đó:\n");
scanf(" %f", &gr1);
scanf(" %f", &gr2);
scanf(" %f", &gr2);
scanf(" %f", &gr3);
scanf(" %f", &gr4);
scanf(" %f", &gr5);
scanf(" %f", &gr6);
} else
nếu (manyTest = 7) {
printf("Viết điểm của bạn trong các bài kiểm tra đó:\n");
scanf(" %f", &gr1);
scanf(" %f", &gr2);
scanf(" %f", &gr2);
scanf(" %f", &gr3);
scanf(" %f", &gr4);
scanf(" %f", &gr5);
scanf(" %f", &gr6);
scanf(" %f", &gr7);
} else
nếu (manyTest = 8) {
printf("Viết điểm của bạn trong các bài kiểm tra đó:\n");
scanf(" %f", &gr1);
scanf(" %f", &gr2);
scanf(" %f", &gr2);
scanf(" %f", &gr4);
scanf(" %f", &gr5);
scanf(" %f", &gr6);
scanf(" %f", &gr7);
scanf(" %f", &gr8);
}
float avg = (gr1 + gr2 + gr3 + gr4 + gr5 + gr6 + gr7 + gr8) / manyTest;
printf("Điểm trung bình của bạn là: %.2f\n", avg);
}
system("pause");
return 0;
}
Mã của tôi bị lỗi gì vậy, nó bỏ qua quét()
phần còn lại của? Điều tôi muốn mã làm là hỏi họ muốn lấy trung bình bao nhiêu bài kiểm tra, sau đó lấy con số đó (từ 1 đến 8) và chạy bài kiểm tra trên đó, sau đó nó sẽ tính điểm trung bình.
Chúng ta hãy nói:
Có bao nhiêu bài kiểm tra...?
2
Viết điểm số của bạn:
100
90
Điểm trung bình của bạn là: 95,00
Nhưng những gì nó thực sự làm là:
Có bao nhiêu bài kiểm tra...?
2
Viết điểm số của bạn:
90
Điểm trung bình của bạn là: 90,00
Thậm chí đừng để nó lấy thông tin về các biến khác.
Thực ra, trong mã của bạn, thủ phạm không phải là quét
, nhưng những cái nàySai
phương trình
ngược lại nếu (manyTest = 8) //WROOOOONGGGG =( =( =( =(
Thay vào đó hãy sử dụng dấu bằng kép...
khác nếu (manyTest == 8) //đúng =)
Bởi vì điều bạn thực sự muốn là so sánh
Tôi là một lập trình viên xuất sắc, rất giỏi!