const
AOper: array [0..3] of string = ('+', '-', '*', '/');
var
a, b, Oper: Integer;
r: Real;
begin
Randomize; // инициализация датчика случайных чисел
a := Random (1001);
b := Random (1001);
Oper := Random (4);
case Oper of
0: r := a + b;
1: r := a - b;
2: r := a * b;
3:if b <> 0 then begin
r := a / b;
end else begin
WriteLn ('Произошла ошибка при делении на ноль');
Exit;
end
else r := -1;
end;
WriteLn (a);
WriteLn (b);
WriteLn (Aoper [Oper]);
if (r >= 0) and (r - Trunc (r) = 0) then begin // если в результате получилось положительное целое число
WriteLn ('yes');
WriteLn (r :6 :0);
end else
WriteLn (' no');
ReadLn;
end.
Объяснение:
r - Trunc (r) // это выделение дробной части числа
Поделитесь своими знаниями, ответьте на вопрос:
Перевести из pascal в с var a, b: longint; n, m: byte; begin readln(a); readln(n); b : = 0; while a > 0 do begin m : = a mod 10; if m < > n then b : = b * 10 + m; a : = a div 10; end; while b > 0 do begin a : = a * 10 + b mod 10; b : = b div 10; end; writeln(a); end.
int main(void) {
long int a, b=0;
int n, m;
scanf("%d",&a);
scanf("%d",&n);
while (a>0) {
m = a % 10;
if (m != n) b = b*10+m;
a = a / 10;
}
while (b != 0) {
a = a*10 + b%10;
b = b/10;
}
printf("a = %d",a);
return 0;
}
Пример:
125272
157