М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
olechkapushkareva
olechkapushkareva
12.05.2020 14:10 •  Информатика

найти ошибку в написании программы на си!В задаче нужно было вычислить величину скидки.Скидка в 3% предоставляется,если сумма покупки больше 500 рублей, в 5% - если сумма больше 1000 рублей, 8% при стоимости покупки свыше 1500 рублей! Входные данные: Сумма покупки.Пример вывода :Введите сумму покупки и

нажмите [Enter]

-> 640

Ваша скидка 3%

Сумма скидки: 19.20 руб.

Вот мое решение

#include

int main()

{

int S, P;

printf("Введите сумму\n");

scanf("%d", &S);

if S>500

{

P=3;

S=S/100*P;

printf("Ваша скидка %d\n", P);

printf("Сумма скидки %d\n", S);

end

}

else if (S>1000)

{

P=5;

S=S/100*P

printf("Ваша скидка %d\n", P);

printf("Сумма скидки %d\n", S);

end;

}

else if (S>1500)

{

P=8;

S=S/100*P

printf("Ваша скидка %d\n", P);

printf("Сумма скидки %d\n", S);

end;

if S<=500

printf("Вы ввели неверные данные %d\n");

return 0;

}

👇
Ответ:
kosonogova
kosonogova
12.05.2020

#include <stdio.h>

int main()

{

 int S, P;

 printf("Введите сумму\n");

 scanf("%d", &S);

 if (S > 1500)

 {

   P = 8;

   S = S / 100 * P;

   printf("Ваша скидка %d\n", P);

   printf("Сумма скидки %d\n", S);

 }

 else if (S > 1000)

 {

   P = 5;

   S = S / 100 * P;

   printf("Ваша скидка %d\n", P);

   printf("Сумма скидки %d\n", S);

 }

 else if (S > 500)

 {

   P = 3;

   S = S / 100 * P;

   printf("Ваша скидка %d\n", P);

   printf("Сумма скидки %d\n", S);

 }

 else

 {

   printf("Для вашей суммы не предусмотренна скидка\n");

 }

 return 0;

}

Объяснение:

Пропущен header, отсутствуют скобки после if, отсутствует ";", END??? Зачем?? Точно нужно было написать на "C"?

4,7(76 оценок)
Открыть все ответы
Ответ:
Торт123
Торт123
12.05.2020
Var s:string;    d1,m1,g1,d2,m2,g2,t,c:integer;    p:boolean;    k:byte;begin
k:=0;
writeln('Введите дату в формате дд.мм.гг');readln(s); val(copy(s,7,2),t,c);{преобразуем год в число}if (c<>0)or(t<0) then k:=1 else g1:=t;{определим високосный год или нет}if (((g1+2000) mod 100<>0)and((g1+2000) mod 4=0))or((g1+2000) mod 400=0) then p:=trueelse p:=false;
val(copy(s,4,2),t,c);if (c<>0)or not(t in [1..12]) then k:=1 else m1:=t;
val(copy(s,1,2),t,c);if (c<>0)or((m1 in [1,3,5,7,8,10,12])and not(t in [1..31]))         or((m1 in [4,6,9,11])and not(t in [1..30]))         or(p and(m1=2)and not(t in [1..29]))         or(not p and(m1=2)and not(t in [1..28]))then k:=1 else d1:=t;if k=1 thenbeginwriteln('Дата введена неверно!');endelsebeginif(m1=1)and(d1=1)then begin  d2:=31;  m2:=12;  g2:=g1-1; end
else if ((m1 in [5,7,10,12]) and(d1=1))then begin  d2:=30;  m2:=m1-1;  g2:=g1; end
else if ((m1 in [2,4,6,8,9,11]) and(d1=1))then begin  d2:=31;  m2:=m1-1;  g2:=g1; end
else if(m1=3)and (d1=1) then begin  if p then d2:=29 else d2:=28;  m2:=m1-1;  g2:=g1; end
else begin  d2:=d1-1;  m2:=m1;  g2:=g1; end;writeln('Предыдущая дата:');if d2<10 then write('0',d2,'.')else write(d2,'.');if m2<10 then write('0',m2,'.')else write(m2,'.');write(g2);end;end.
4,5(35 оценок)
Ответ:
Ангелиныч1
Ангелиныч1
12.05.2020

во всех этих задачах используются 2 формулы  (объем)I=k*i; (мощность)N=2^i

1) 8=2^i => i=3, объём= 3*20=60 бит

2)вес одного символа 4096/1024=4 бит => i=4, мощность (N) = 2^i => N=2^4=16

3)12288/8=1536 байт, далее 1536/1024=1,5 Кбайт

4)для начала переведем объем кбайт и биты. (из предыдущей задачи это 12288 бит); после найдем i i=12288/4096=3. далее мощность (N)=2^3=8

5)один символ занимает 4 бита (2^4=16) 1/64 часть мегабайта = 1024 * 1024 * 8 / 64 = 131072 бита значит 131072 / 4= 32768 символов.

6)находим количество(k) 4*30*50=6000, кол-во информации (объем (I) ) из байт переводим в бит. 4500*8=36000 бит. далее находим i; i=I(объем)/k(кол-во); i=36000/6000=6. N=2^6=64.

7)может не 1,5*1023, а 1,5*10^23? N=4; i=2. находим объём 2*1,5*10^23. I=3*10^23.

8)всего двухзначных чисел 100. (00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12 и тд. ) значит 2^i=100. близжайшее значение i в данном случае 7. Так как если 6, то 2^6=64, 100-64=36. если i=7, то 2^7=128. 100-128=-28 (ну по факту разница в 28 единиц.) что ближе 36 или 28? следовательно ответ 7.

4,8(58 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ