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

c - Kết hợp với câu lệnh if để đặt giới hạn giá trị

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 08:15:10 hai mươi bốn 4
mua khóa gpt4 Nike

Tôi đang tạo một chương trình tàu chiến cho chương trình của mình; chương trình đang hoạt động tốt, nhưng tôi đang cố gắng đảm bảo rằng khi người dùng đặt tọa độ ngoài phạm vi, chương trình cho biết họ đã nhập tọa độ không chính xác. Đây là mã:

    #include 
#include

void startBoard(int board[][5])
{
int dòng, cột;
for(line=0; line < 5; line++)
for(cột=0; cột < 5; cột++)
bảng[dòng][cột]=-1;
}

void showBoard(int board[][5])
{

int dòng, cột;

printf("\t1 \t2 \t3 \t4 \t5");
printf("\n");

for(line=0; line < 5; line++){
printf("%d",line+1);
for(cột=0; cột < 5; cột++){
if(bảng[dòng][cột]==-1){
printf("\t~");
}else if(bảng[dòng][cột]==0){
printf("\t*");
}else if(bảng[dòng][cột]==1){
printf("\tX");
}

}
printf("\n");
}

}

void startShips(int tàu[][2]){
srand(thời gian(NULL));
int tàu, cuối cùng;

for(ship=0; tàu < 3; tàu++){
tàu[ship][0]= rand()%5;
tàu[ship][1]= rand()%5;
for(last=0; cuối cùng < tàu; cuối cùng++){
if( (ships[ship][0] ==ships[last][0])&&(ships[ship][1] ==ships[last][1]) )
LÀM{
tàu[ship][0]= rand()%5;
tàu[ship][1]= rand()%5;
}while( (ships[ship][0] ==ships[last][0])&&(ships[ship][1] ==ships[last][1]) );
}

}
}

void GiveShot(int shot[2])
{

printf("Dòng: ");
scanf("%d",&shot[0]);
shot[0]--;

printf("Cột: ");
scanf("%d",&shot[1]);
bắn[1]--;

}

int hitship(int shot[2], intship[][2])
{
int tàu;

for(ship=0; tàu < 3; tàu++){
if( shot[0]==ships[ship][0] && shot[1]==ships[ship][1]){
printf("Bạn bắn trúng một con tàu (%d,%d)\n",shot[0]+1,shot[1]+1);
return 1;
}
}
return 0;
}

void tip(int shot[2], intship[][2], int try)
{
dòng int=0,
cột=0,
hàng ngang;

//đếm xem có bao nhiêu tàu có dòng/cột
for(row=0; row < 3; row++){
if(ships[row][0]==shot[0])
dòng++;
if(ships[row][1]==shot[1])
cột++;
}

printf("\nDica %d: \nline %d -> %d tàu\ncolumn %d -> %d tàu\n",attempt,shot[0]+1,line,shot[1]+1,column) ;
}

void ChangeBoard(int shot[2], intship[][2], int board[][5]){
if(hitship(bắn,tàu))
bảng[bắn[0]][bắn[1]]=1;
khác
bảng[bắn[0]][bắn[1]]=0;
}

int chính() {
bảng int[5] [5];
int tàu[3][2];
int shot[2];
int lần thử = 0,
lượt truy cập=0;

startBoard(bảng);
startShips(tàu);

printf("\n");

LÀM{
showBoard(bảng);
choShot(bắn);
cố gắng++;

if(hitship(bắn,tàu)){
tip(bắn, tàu, nỗ lực);
lượt truy cập++;
}
khác
tip(bắn, tàu, nỗ lực);

ChangeBoard(bắn,tàu,biển);


}while(lần truy cập!=3);

printf("\n\n\nTrò chơi đã kết thúc. Bạn bắn trúng ba con tàu trong %d lần thử", lần thử);
showBoard(bảng);
}

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

我认为 while tỷ lệ tuyên bố nếu như Hữu ích hơn.

Đầu tiên yêu cầu người dùng nhập một giá trị. Sau đó, khi người dùng nhập sai giá trị, bạn tiếp tục hỏi anh ta.

Nó có thể trông như thế này:

printf("Dòng: ");
scanf("%d",&shot[0]);
while(shot[0]upper_bound){
printf("Nhập sai");
printf("Nhập đúng dòng: ");
scanf("%d",&shot[0]);
}
shot[0]--;

nếu bạn thực sự cần nếu như, bạn có thể chuyển đổi while Thay đổi thành nếu như, nhưng điều này chỉ kiểm tra giá trị một lần, trong khi câu lệnh while tiếp tục kiểm tra cho đến khi bạn nhận được thứ mình cần.

Về c - kết hợp các câu lệnh if để đặt giới hạn giá trị, 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/36175955/

hai mươi bốn 4 0
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