1. Распространённая задача: Дано четырехзначное число (к примеру 5678), вывести на экран в обратном порядке цифры из которых это число состоит. То есть мы должны увидеть на экране 8765. Подсказка: чтобы взять из числа отдельные цифры, надо применять деление по модулю на 10.
Показать код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
usingnamespacestd;
intmain()
{
setlocale(LC_ALL,"rus");
intmainNumber=5678;
cout<<"Дано целое число: "<<mainNumber<<endl;
cout<<"Число наизнанку: ";
// остаток от деления четырехзначного числа 5678 на 10
cout<<mainNumber%10;// 5678 % 10 = 8
// далее делим mainNumber на 10 и записываем в переменную
// так как тип переменной int, дробная часть отбросится
// и mainNumber будет равен 567 (а не 567,8)
mainNumber/=10;
// показываем остаток от деления 567 на 10 на экран
cout<<mainNumber%10;
mainNumber/=10;
cout<<mainNumber%10;
mainNumber/=10;
cout<<mainNumber%10;
mainNumber/=10;
cout<<endl<<endl;
return0;
}
Результат:
2. На сайте практически любого коммерческого банка, можно встретить так называемый Депозитный калькулятор, который позволяет людям, не желающим углубляться в формулы расчета процентных ставок, узнать какую прибыль они получат. Для этого им достаточно заполнить определённые поля, нажать на кнопку и увидеть результат. Это простая программа, которую уже сможет написать каждый из вас. Итак, задача: Пользователь вводит сумму депозита и количество месяцев хранения денег в банке. Необходимо провести расчет и показать на экран прибыль с депозита в месяц, за весь срок депозита, и общую сумму к выплате в конце срока. Валюта пусть будет – доллар США. Процентная ставка – 5% годовых. Формула расчета процентов в месяц – СуммаДепозита * (ПроцентнаяСтавка / 100) / ДнейВГоду * ДнейВМесяце.
Во второй задаче арифметических действий, ошибка с порядком процентной ставки. Ибо если у нас есть 5%, то это численно равно 0.05, и подставляя это в формулу у нас получается на один порядок выше. Я могу ошибаться если не так то поправьте)
Здравствуйте. В ответе ко второй задаче, при условии депозит 1000000, на 18 месяцев, программа выдаёт не корректные значения в Общая сумма выплаты в конце срока. И ещё одно значение так же выдаёт не корректно.
Написал вторую задачку на с# int mon; decimal dep,proc,pribm,pribv,obkvip; Console.WriteLine(“Введите сумму депозита в $”); dep=decimal.Parse(Console.ReadLine()); Console.WriteLine(“Введите количество месяцев”); mon=int.Parse(Console.ReadLine()); proc=(dep*5)/(365*31); // расчет процентов за один месяц pribm=((proc*dep)/100); // прибыль в месяц Console.WriteLine(“Ваша прибыль в месяц ={0} $”, pribm); pribv=((proc*dep)/100)*mon; // прибыль вся Console.WriteLine(“Ваша прибыль за весь период ={0} $”, pribv); obkvip=pribv+dep; Console.WriteLine(“Общая сумма к выплате ={0} $”,obkvip);
Во второй задаче не совсем корректно отображается количество дней в месяце, на самом деле их будет 30.41666666 не учитывая высокосного года конечно, вот при этих цифрах будет правильный процент за год, и ещё при расчете на два и три года надо бы ещё и учитывать возросший депозит!
#include
#include
using namespace std;
float fun1(float sumOfdep, float prst, int daysY, int daysM) {
float Plus = (sumOfdep * prst / daysY * daysM);
return Plus;
}
float fun2(float plus1, float months) {
float profit = (plus1 * months);
return profit;
}
float fun3(float sumOfdep, float profit1) {
float fullProfit = profit1 + sumOfdep;
return fullProfit;
}
int main()
{
setlocale(LC_ALL, “RUS”);
float prst = 0.05; int daysY = 365; int daysM = 30;
float sumOfdep, months1;
cout <> sumOfdep;
cout <> months1;
float prof1 = fun1(sumOfdep, prst, daysY, daysM);
float prof2 = fun2(prof1, months1);
float prof3 = fun3(sumOfdep, prof2);
cout << "\nРасчет…\n";
cout << "=======================================\n";
cout << "Проценты в месяц: " << sumOfdep << " * " << prst << " / " << daysY << " * " << daysM << " = " << prof1 <<" $"<< endl;
cout << "Проценты за весь срок: " << prof2 << " $" << endl;
cout << "Общая сумма выплаты в конце срока: " << prof3 << " $" << endl;
cout << "\nРасчет окончен\n";
cout << endl;
system("pause");
return 0;
}
Во второй задаче арифметических действий, ошибка с порядком процентной ставки. Ибо если у нас есть 5%, то это численно равно 0.05, и подставляя это в формулу у нас получается на один порядок выше. Я могу ошибаться если не так то поправьте)
Все оказалось проще простого:
int main(int argc, char** argv) {
int c,a,b,d,g,f;
cin >> c;
a=c % 10;
b=c % 100; f=(b-a)/10;
d=c%1000; g=(d-b)/100;
c=(c-d)/1000;
cout <<a<<f<<g<<c<<endl;
system ("pause");
return 0;
}
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “rus”);
int a = 0;
cout <> a;
cout << "Вы написали: " << a << endl;
cout << "Число наоборот: "<< a % 10;
a/= 10;
cout << a % 10;
a /= 10;
cout << a % 10;
a /= 10;
cout << a % 10;
return 0;
}
Здравствуйте. В ответе ко второй задаче, при условии депозит 1000000, на 18 месяцев, программа выдаёт не корректные значения в Общая сумма выплаты в конце срока. И ещё одно значение так же выдаёт не корректно.
#include
using namespace std;
int main() {
setlocale(0, “RU”);
char Numb[4];
cout << "Введите четырёхзначное число: ";
for (int i = 0; i > Numb[i];
}
for (int i = 3; i >= 0; i–) {
cout << Numb[i];
}
return 0;
}
Написал вторую задачку на с#
int mon;
decimal dep,proc,pribm,pribv,obkvip;
Console.WriteLine(“Введите сумму депозита в $”);
dep=decimal.Parse(Console.ReadLine());
Console.WriteLine(“Введите количество месяцев”);
mon=int.Parse(Console.ReadLine());
proc=(dep*5)/(365*31); // расчет процентов за один месяц
pribm=((proc*dep)/100); // прибыль в месяц
Console.WriteLine(“Ваша прибыль в месяц ={0} $”, pribm);
pribv=((proc*dep)/100)*mon; // прибыль вся
Console.WriteLine(“Ваша прибыль за весь период ={0} $”, pribv);
obkvip=pribv+dep;
Console.WriteLine(“Общая сумма к выплате ={0} $”,obkvip);
Во второй задаче не совсем корректно отображается количество дней в месяце, на самом деле их будет 30.41666666 не учитывая высокосного года конечно, вот при этих цифрах будет правильный процент за год, и ещё при расчете на два и три года надо бы ещё и учитывать возросший депозит!