Предмет: Информатика,
автор: Аноним
Pascal ABC.net.Помогите пожалуйста. Уже 2 дня бьюсь над задачкой и никак не выходит.Условие задачи:
"По заданному числу "a" определите является ли оно целым.Если заданное число является целым, то в выходной файл output.txt выведите сумму цифр этого числа, в противном случае выведите корень квадратный из модуля этого числа."
У меня есть начало. Только самое-самое начало.Я не понимаю, как можно сосчитать сумму цифр числа, если неизвестно, сколько в нём цифр.
Вот начало программы:
Var a:real;
Begin
Readln(a);
a:=abs(a);
If a-trunc(a)=0 then //Тут у меня проблема
Else a:=sqrt(a);
Writeln(a)
End.
Ответы
Автор ответа:
0
var
a:real;
x,res:integer;
begin
readln(a);
if a = trunc(a) then
begin
x:=trunc(a);
while x<>0 do
begin
res:=res + x mod 10;
x:= x div 10;
end;
writeln(res);
end
else
writeln(sqrt( abs(a) ));
end.
a:real;
x,res:integer;
begin
readln(a);
if a = trunc(a) then
begin
x:=trunc(a);
while x<>0 do
begin
res:=res + x mod 10;
x:= x div 10;
end;
writeln(res);
end
else
writeln(sqrt( abs(a) ));
end.
Автор ответа:
0
Если число отрицательное целое , то первая цифра - отрицательная . Если вам такое не подходит напишите там где x x:=abs( trunc(a) )
Автор ответа:
0
А где же вывод в файл?
Похожие вопросы
Предмет: Другие предметы,
автор: xXLuidXx
Предмет: Другие предметы,
автор: jj8075437
Предмет: География,
автор: agaevaalesay10
Предмет: География,
автор: ksyxak09
Предмет: История,
автор: nekto1234567654321