大家看看这段Pascal写的对不对?

来源:百度知道 编辑:UC知道 时间:2024/07/04 23:10:45
如果b的值是4,就改成5,如果b的值是5,就改成4,如果是别的值就不改变
我写的是:
begin
if b=5 then b:=4;
if b=4 then b:=5;
writeln (b);
end;
对不对?

begin
if b=5 then b:=4
else
begin
if b=4 then b:=5
end;
writeln (b);
end;
不对,b永远=5,我问一下,这题是不是有毛病,最起码两个数吧

不对。不管怎样b都是5。
begin
if b=5 then b:=4
else
begin
if b=4 then b:=5
end;
writeln (b);
end;

这……至于发一个问题吗?
自己检查一下不就得了。
int main(void)
{
cin>>b;
if (b==5) {cout<<4<<"\n";return 0;}
if (b==4) {cout<<5<<"\n";return 0;}
cout<<b<<"\n";
return 0;
}

正确,只不过end后加句号。
你还可以用pascal的自检系统—— ALT+F9

如果输入的是4,那结果肯定也是4,输入5,结果也是是4,输入别的值就不改变,上面几个怎么想的?怎么会输出5呢?
program wood;
var b:integer;
begin
readln(b);
if b=4 then b:=5;
if b=5 then b:=4;
writeln(b);
end.