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% годовых. Формула розрахунку відсотків на місяць– SummaDepozita * (ПроцентнаяСтавка / 100) / ДнейВГоду * ДнейВМесяце.
// умножаем % за 1 месяц на весь срок депозита и записываем в profit
profit*=amountMonth;
cout<<profit<<" $"<<endl;
cout<<"Общая сумма выплаты в конце срока: "
<<sumDeposit+profit<<" $";
cout<<endl<<endl;
return0;
}
Результат:
Возможно у вас возникли вопросы по решению задач – задавайте их в комментариях!
4.4
47
151 думки про "Завдання: арифметические операции в С ”
плавати = Ставці 1.05; int srok = 0; Угоди спливають = 0; плавати dohodVmes = 0; Ставка = INT 0; cout << "введите сумму вклада" <> депозит; cout << "введите срок депозита" <> srok; dohodVmes = (stavka * vklad-vklad) / 12; угоди = (vklad * srok * stavka)/12; cout << "ваша прибыль в месяц = " << dohodVmes << endl; cout << "сума к выплате в конце срока= " << угоди << endl;
Вітаю…вибачте звичайно, я ось так відразу і з зауваженнями ))) Мій варіант вважає більш коректно. Вся суть в тому, що у вас не правильно вважається місячний прибуток. Ви прив'язалися до кількості днів, а воно в різних місцях різний! Тому розрахунок і в підсумку буде не зовсім правильний. Та й банки вважають помісячно. Ваш варіант буде вважати правильно якщо розбити щомісячний дохід на 12 місяців і врахувати кількість днів в кожному. Если 1000 доларів під 5% покласти на рік, то прибуток буде 50 u.e )) ..як не крути ))
int main() { setlocale(LC_ALL , “російський”); коротка Int А, b, c, d, е; а = Ь = с = d = 0; cout << "Введите 4 значне число t:" <> е ; д = е% 10; з = е / 10% 10; б = е / 10/10% 10; і а = / 10/10/10 10%; cout << "Ваши цифры в обратном порядке – " << d << c << b << a << endl; return 0; }
До речі, в цьому завданні (№1) можна … і добре б “обдурити” користувача. обдурити тим, що cin спочатку вводить символьні дані і тільки потім перетворює їх в необхідний тип. Можна просто не робити взагалі ніяких перетворень: #include using namespace std;
int main() { string e; while( true ) { cout << "Введите любое положительное целое : "; getline( cin, e ); cout << "Введенные цифры в обратном порядке : "; for( string::const_reverse_iterator i = e.rbegin(); i != e.rend(); i++ ) cout << *i; cout << endl; } }
Поясніть за наступним моменту: Якщо розрахунок ставки робити так – amountMonth = депозит * (5 / 100) / 365 * 31; то значення рівні 0. Якщо привласнити значення змінної 5, і вставити в дужки, то все працює… плавати відсотків = 5; amountMonth = депозит * (відсотків / 100) / 365 * 31; Чому перший варіант не прораховує коректно?
плавати = Ставці 1.05;
int srok = 0;
Угоди спливають = 0;
плавати dohodVmes = 0;
Ставка = INT 0;
cout << "введите сумму вклада" <> депозит;
cout << "введите срок депозита" <> srok;
dohodVmes = (stavka * vklad-vklad) / 12;
угоди = (vklad * srok * stavka)/12;
cout << "ваша прибыль в месяц = " << dohodVmes << endl;
cout << "сума к выплате в конце срока= " << угоди << endl;
Вітаю…вибачте звичайно, я ось так відразу і з зауваженнями )))
Мій варіант вважає більш коректно. Вся суть в тому, що у вас не правильно вважається місячний прибуток. Ви прив'язалися до кількості днів, а воно в різних місцях різний! Тому розрахунок і в підсумку буде не зовсім правильний. Та й банки вважають помісячно. Ваш варіант буде вважати правильно якщо розбити щомісячний дохід на 12 місяців і врахувати кількість днів в кожному.
Если 1000 доларів під 5% покласти на рік, то прибуток буде 50 u.e )) ..як не крути ))
Мій варіант програми. Оцініть.
#include
using namespace std;
int main(void)
{
setlocale(LC_ALL, "Russian");
double deposit; //ваш депозит
double rate; //ваш процент
int month; //количество месяцев
int Num; //количество дней в месяце
cout << deposit;
cout << month;
cout << Num;
cout <<rate;
double S = (deposit*(rate/100)) / month;
cout << "Ваш месячный процент=" << S;
cout << "\n";
cout << "Ваш процент за год=" << S*month<<endl;
}
Чи не дочитав умови і зробив за своєю формулою….але все працює відмінно!!
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
float deposit = 0;
float stavka = 0;
float kol_mes = 0;
float preb = 0;
cout << deposit;
cout << stavka;
cout << kol_mes;
preb = kol_mes * (deposit / 100) * (stavka / 12);
cout << "Ваша прибыль составит " << preb << endl;
_getch();
return 0;
}
1. Можна і так :
#include
#include
using namespace std;
int main() {
setlocale(LC_ALL , “російський”);
коротка Int А, b, c, d, е;
а = Ь = с = d = 0;
cout << "Введите 4 значне число t:" <> е ;
д = е% 10;
з = е / 10% 10;
б = е / 10/10% 10;
і а = / 10/10/10 10%;
cout << "Ваши цифры в обратном порядке – " << d << c << b << a << endl;
return 0;
}
А я б так зробив:
INT I = тисяча двісті тридцять чотири;
for(;i;я / = 10) cout<<я 10%; cin.get();
> 1. Можна і так :
Можна і так…
Тільки тоді вже “за мотивами вашого рішення” краще зробити ось так:
#include
using namespace std;
int main() {
unsigned long long e;
while( true ) {
cout <> e;
cout << "Введенные цифры в обратном порядке : ";
for( ; e != 0; e /= 10 )
cout << e % 10;
cout << endl;
}
return 0;
}
І число тут не 4-х значне, а будь-який розрядності, і код коротше.
Нет! Це не движок сайту, а це якесь убоїще! :-(
До речі, в цьому завданні (№1) можна … і добре б “обдурити” користувача. обдурити тим, що cin спочатку вводить символьні дані і тільки потім перетворює їх в необхідний тип. Можна просто не робити взагалі ніяких перетворень:
#include
using namespace std;
int main() {
string e;
while( true ) {
cout << "Введите любое положительное целое : ";
getline( cin, e );
cout << "Введенные цифры в обратном порядке : ";
for( string::const_reverse_iterator i = e.rbegin(); i != e.rend(); i++ )
cout << *i;
cout << endl;
}
}
2-й обман тут полягає в тому, що мені вдалося обдурити цей прідурастий движок сайту, який зжирає:
cin >> e;
Якщо воно слід за cout …
#include
using std::cout;
using std::cin;
using std::endl;
int main()
{
setlocale(0, "Russian");
float Deposit = 0;
int month = 0;
float procent = 5;
float result = 0;
cout << "Введите сумму депозита:" <> Deposit;
cout << "Введите кол-во месяцев:" <> month;
result = Deposit * (procent / 100) / 365 * 31;
cout << "Сумма по окончанию срока депозита:" << result + Deposit << endl;
return 0;
}
Ось мій код, працює, але я полінувався вводити змінні для кол-ва днів
Поясніть за наступним моменту:
Якщо розрахунок ставки робити так – amountMonth = депозит * (5 / 100) / 365 * 31;
то значення рівні 0.
Якщо привласнити значення змінної 5, і вставити в дужки, то все працює…
плавати відсотків = 5;
amountMonth = депозит * (відсотків / 100) / 365 * 31;
Чому перший варіант не прораховує коректно?
#include
using std::cout;
using std::cin;
int main()
{
float sumDeposit = 0, hranenie = 0, otvet = 0, procentStav = 0;
int dneyvMes9ce = 0, dneyvGody = 0;
cout<<dneyvGody;
cout<<dneyvMes9ce;
cout<<sumDeposit;
cout<<hranenie;
cout<<procentStav;
//formula rac4eta procentov v mesac:
otvet = sumDeposit * (procentStav / 100) / 365 * 30;
cout<<"============================================\n";
cout<<"Procent v mes9c po formule: "<<sumDeposit<<" * "<<procentStav<<"% / "<<dneyvGody<<" * "<<dneyvMes9ce<<" = "<<otvet<<"$";
cout<<"\nProcent za vec' srok: "<<otvet*hranenie+sumDeposit<<"$";
return 0;
}