cuốn sách gpt4 ai đã làm

c - Khi sử dụng nhiều scanf(), nó sẽ bỏ qua phần còn lại của scanf()

In lại Tác giả: Vũ trụ không gian 更新时间:2023-11-04 01:55:51 28 4
mua khóa gpt4 Nike

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.

câu trả lời hay nhất

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

Về c - khi sử dụng nhiều scanf(), nó sẽ bỏ qua phần còn lại của scanf(), chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/34411284/

28 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress