第二章
2.19 计数器
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
cout << "Input three different integers:" << endl;
cin >> a;
cin >> b;
cin >> c;
int sum, average, product, smallest, largest;
sum = a + b + c;
average = (a + b + c) / 3;
product = a * b * c;
int arr[] = {a,b,c};
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 1; j++)
{
if (arr[j] > arr[j + 1])
{
int temp;
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
smallest = arr[0];
largest = arr[2];
cout << "Sum is " << sum << endl;
cout << "Average is " << average << endl;
cout << "Product is " << product << endl;
cout << "Smallest is " << smallest << endl;
cout << "Largest is " << largest << endl;
return 0;
}
2.25 是否倍数
#include <iostream>
using namespace std;
int main()
{
int a, b;
cout << "Input a:" << endl;
cin >> a;
cout << "Input b:" << endl;
cin >> b;
if (a % b == 0)
{
cout << "是倍数" << endl;
}
else
{
cout << "不是倍数" << endl;
}
return 0;
}
2.26
#include <iostream>
using namespace std;
int main()
{
cout << "* * * * * * * *" << endl;
cout << " * * * * * * * *" << endl;
cout << "* * * * * * * *" << endl;
cout << " * * * * * * * *" << endl;
cout << "* * * * * * * *" << endl;
cout << " * * * * * * * *" << endl;
cout << "* * * * * * * *" << endl;
cout << " * * * * * * * *" << endl;
for (int i = 0; i < 4; i++)
{
cout << "* * * * * * * *" << endl;
cout << " * * * * * * * *" << endl;
}
return 0;
}
2.27 强制转换入门
#include <iostream>
using namespace std;
int main()
{
cout << 'A' << endl;
cout << 'a' << endl;
cout << '$' << endl;
cout << '0' << endl;
cout << static_cast<int>('A')<<endl;
cout << static_cast<int>('a') << endl;
cout << static_cast<int>('$') << endl;
cout << static_cast<int>('0') << endl;
return 0;
}
2.28 分解多位数
#include <iostream>
using namespace std;
int main()
{
cout << "Input a 5wei zhengshu:" << endl;
int num5th;
cin >> num5th;
int a, b, c, d, e;
a = (num5th / 10000) % 10;
b = (num5th / 1000) % 10;
c = (num5th / 100) % 10;
d = (num5th / 10) % 10;
e = num5th % 10;
cout << a << " " << b << " " << c << " " << d << " " << e << " ";
return 0;
}
2.29 制表
#include <iostream>
using namespace std;
int main()
{
cout << "integer\tsquare\tcube\t"<<endl;
for (int i = 0; i < 11; i++)
{
cout << i<<"\t" << i * i <<"\t" << i * i * i<< "\t" << endl;
}
return 0;
}
第三章
3.12 账户类
account.h
#pragma once
#include <string>
class Account{
private:
int restMoney;
public:
Account(int);
void credit(int);
void debit(int);
int getBalance();
};
account.cpp
#include <iostream>
#include "Account.h"
using namespace std;
Account::Account(int initialMoney)
{ restMoney=0;
if(initialMoney<0)
{
restMoney = 0;
cout << "Initial money is error" << endl;
}
else
{
restMoney = initialMoney;
}
}
void Account::credit(int creditMoney)
{
restMoney += creditMoney;
}
void Account::debit(int debitMoney)
{
if (restMoney >= debitMoney)
{
restMoney -= debitMoney;
}
else
{
cout << " Debit account exceeded account balance.\n";
}
}
int Account:: getBalance()
{
cout<< "restmonry: "<<restMoney<<endl;
return restMoney;
}
account_test.cpp
#include <iostream>
#include "Account.h"
using namespace std;
int main()
{
Account account1(1000);
Account account2(2000);
account1.credit(1000);
account1.getBalance();
account2.debit(3000);
}
3.15 日期类
date.h
#pragma once
using namespace std;
class Date {
public:
Date(int,int,int);
void setMonth(int);
int getMonth();
void setDay(int);
int getDay();
void setYear(int);
int getYear();
void displayDate();
private:
int D_month;
int D_day;
int D_year;
};
date.cpp
#include <iostream>
using namespace std;
#include "Date.h"
Date::Date(int month, int day, int year)
{
setMonth(month);
setDay(day);
setYear(year);
}
;
void Date::setMonth(int month)
{
if(month<=12&&month>=1)
{
D_month = month;
}
else
{
D_month = 1;
}
};
int Date::getMonth()
{
return D_month;
}
;
void Date::setDay(int day)
{
D_day = day;
}
;
int Date::getDay()
{
return D_day;
}
;
void Date::setYear(int year)
{
D_year = year;
}
;
int Date::getYear()
{
return D_year;
}
;
void Date::displayDate()
{
cout << D_year << "/" << D_month << "/" << D_day << endl;
}
;
date.test
#include <iostream>
using std::cout;
using std::endl;
#include "Date.h" // include definition of class Date from Date.h
// function main begins program execution
int main()
{
Date date(5, 6, 1981); // create a Date object for May 6, 1981
// display the values of the three Date data members
cout << "Month: " << date.getMonth() << endl;
cout << "Day: " << date.getDay() << endl;
cout << "Year: " << date.getYear() << endl;
cout << "\nOriginal date:" << endl;
date.displayDate(); // output the Date as 5/6/1981
// modify the Date
date.setMonth(13); // invalid month
date.setDay(1);
date.setYear(2005);
cout << "\nNew date:" << endl;
date.displayDate(); // output the modified date (1/1/2005)
return 0; // indicate successful termination
} // end main
第四章
https://juejin.cn/post/6950531512186077192#comment
4.34 取模逆运算
#include <iostream>
// 函数声明
int encryptData(int data);
int decryptData(int encryptedData);
int main() {
int dataToEncrypt;
// 输入要加密的4位整数
std::cout << "请输入要加密的4位整数:";
std::cin >> dataToEncrypt;
// 加密数据并打印结果
int encryptedResult = encryptData(dataToEncrypt);
std::cout << "加密后的数据:" << encryptedResult << std::endl;
// 输入要解密的加密数据
int encryptedData;
std::cout << "请输入要解密的加密数据:";
std::cin >> encryptedData;
// 解密数据并打印结果
int decryptedResult = decryptData(encryptedData);
std::cout << "解密后的数据:" << decryptedResult << std::endl;
return 0;
}
// 数据加密程序
int encryptData(int data) {
int digits[4];
digits[0] = (data / 1000 + 7) % 10;
digits[1] = ((data / 100) % 10 + 7) % 10;
digits[2] = ((data / 10) % 10 + 7) % 10;
digits[3] = (data % 10 + 7) % 10;
// 交换第1位和第3位,第2位和第4位
int encryptedResult = digits[2] * 1000 + digits[3] * 100 + digits[0] * 10 + digits[1];
return encryptedResult;
}
// 数据解密程序
int decryptData(int encryptedData) {
int digits[4];
digits[0] = (encryptedData / 1000 + 3) % 10;
digits[1] = ((encryptedData / 100) % 10 + 3) % 10;
digits[2] = ((encryptedData / 10) % 10 + 3) % 10;
digits[3] = (encryptedData % 10 + 3) % 10;
// 交换第1位和第3位,第2位和第4位(与加密相反)
int decryptedResult = digits[2] * 1000 + digits[3] * 100 + digits[0] * 10 + digits[1];
return decryptedResult;
}