https://avatars.githubusercontent.com/u/103393591

C++栈结构实现行编辑

题目 行编辑(数据结构严蔚敏C语言版的C++实现)

输入:一行有误的数据

输出:一行正确的数据

处理方法:
允许用户输入出差错,并在发现有误时及时更正。例如:可用一个退格符“#”表示前一个字符无效;可用一个退行符“@”表示当前行中的字符均无效。

C++单链表尾插法

题目 尾插法(数据结构严蔚敏C语言版的C++实现)

输入:键盘输入

输出:带头结点的单链表L

处理方法:待插结点*s插入到最后一个结点之后。

步骤:

1
2
3
4
5
1)获得最后一个结点的位置,使p指向该结点              
2)p->next = new LNode;          
3)p = p->next;              
4)cin>>p->data;             
5)p->next = NULL;           

分析:要想获取最后一个结点的位置,必须从头指针开始顺着next链搜索链表的全部结点,该过程的时间复杂度是O( )。如果每次插入都按此方法获取最后一个结点的位置,则整个创建算法的时间复杂度为O( )。

C++函数分文件编写(VScode2021配置教程)

vscode2021新版的C++函数分文件编写配置

如图所示,需要下载这个插件

1
C/C++ Project Generator

https://img-blog.csdnimg.cn/20210308091652596.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NwaXJpdExITA==,size_16,color_FFFFFF,t_70#pic_center 安装并启用后,使用方法如下 https://img-blog.csdnimg.cn/20210308091718789.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NwaXJpdExITA==,size_16,color_FFFFFF,t_70#pic_center https://img-blog.csdnimg.cn/20210308091732634.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NwaXJpdExITA==,size_16,color_FFFFFF,t_70#pic_center 创建工程文件后目录结构如下

https://img-blog.csdnimg.cn/20210308091749652.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NwaXJpdExITA==,size_16,color_FFFFFF,t_70#pic_center main.cpp文件使用自定义的swap函数,swap函数的头文件放include文件夹,源文件放src文件夹

C++指针

指针的概念

内存地址
内存空间的编排是以字节为单位的,每一个字节(也称单元)都有一个编号,这就是地址。内存地址通常是一个大小为4个字节的整数(这与具体的计算机有关),一般用十六进制数表示。

C++自定义数据类型

结构体

C++里数组是由相同数据类型的一组元素构成的集合,但实际问题中,经常会遇到由相互关联的,但类型不同的数据组成的数据结构。比如:描述一个学生的数据实体应该包括其学号、姓名、性别、年龄、成绩等数据。如果用多个独立的简单数据类型表示的话,就无法体现其整体性,也不便于数据的整体操作。

小额贷款的划算问题(matlab数学建模)

代码

  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
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
clc;close all;

%% 获取数据

day_i=3/10000 %日息

number_of_periods_i=day_i*30 %月利率

P=10000 %借款金额

N = 12 %还款期数

%% 模型选取及计算

Amount=P %借款金额

rate=number_of_periods_i %月利率

number_of_periods=N %贷款期数

command=input(‘输入0为等额本金还款,输入1为等额本息还款,输入2为等本等息还款,输入3为先息后本还款: ‘)

if command==0

%等额本金还款方式

M=Amount/number_of_periods %每月偿还本金

for j=1:number_of_periods-1

Amount(j+1)=Amount(j)-M %月初余额

end

R=Amount*rate %月底的利息

debt=Amount+R %月底欠款

M1=M+Amount*rate %月还款额

sum_R=sum(R) %总利息

sum_Amount=sum(M1) %还款总额

M=M-zeros(1,number_of_periods)

data=[Amount,R,debt,M,M1]%月初所欠金额 利息额 月末所欠金额 偿还本金 月末付款

[n,m]=size(data)

result= cell(n+1,m)

result(1,:)={‘月初所欠金额’,’利息额’,’月末所欠金额’,’偿还本金’,’月末付款’}

result(2:end,:) = num2cell(data)

xlswrite(data.xlsx,result,’等额本金还款方式’)%输出excel

fprintf(sum_R=%f’,sum_R)

fprintf(sum_Amount=%f’,sum_Amount)

elseif command==1

%等额本息还款方式

M=Amount*(rate*(1+rate)^number_of_periods)/((1+rate)^number_of_periods-1)%月还款额

for i=1:number_of_periods-1

Amount(i+1)=Amount(i)*(1+rate)-M %月初金额

end

R=Amount*rate %月底的利息

mon=M-R %每月偿还本金

debt=Amount+R %月底欠款

sum_R=sum(R) %总利息

sum_Amount=M*number_of_periods %还款总额

M=M-zeros(1,number_of_periods)

data=[Amount,R,debt,M-R,M]%月初所欠金额 利息额 月末所欠金额 偿还本金 月末付款

[n,m]=size(data)

result= cell(n+1,m)

result(1,:)={‘月初所欠金额’,’利息额’,’月末所欠金额’,’偿还本金’,’月末付款’}

result(2:end,:) = num2cell(data)

xlswrite(data.xlsx,result,’等额本息还款方式’)%输出excel

fprintf(sum_R=%f’,sum_R)

fprintf(sum_Amount=%f’,sum_Amount)

elseif command==2

%等本等息还款方式

M=Amount/number_of_periods %月还本金

for i=1:number_of_periods-1

Amount(i+1)=Amount(i)-M %月初金额

end

R=[P*rate,P*rate,P*rate,P*rate,P*rate,P*rate,P*rate,P*rate,P*rate,P*rate,P*rate,P*rate] %月底的利息

debt=Amount+R %月底欠款

M2=M+R %月还款额

sum_R=sum(R) %总利息

sum_Amount=M*number_of_periods+P*rate*number_of_periods %还款总额

M=M-zeros(1,number_of_periods)

data=[Amount,R,debt,M-R,M2]%月初所欠金额 利息额 月末所欠金额 偿还本金 月末付款

[n,m]=size(data)

result= cell(n+1,m)

result(1,:)={‘月初所欠金额’,’利息额’,’月末所欠金额’,’偿还本金’,’月末付款’}

result(2:end,:) = num2cell(data)

xlswrite(data.xlsx,result,’等本等息还款方式’)%输出excel

fprintf(sum_R=%f’,sum_R)

fprintf(sum_Amount=%f’,sum_Amount)

elseif command==3

%先息后本还款方式

M=0 %月还本金

for i=1:number_of_periods-1

Amount(i+1)=Amount(i)-M %月初金额

end

R=Amount*rate %月底的利息

debt=Amount+R %月底欠款

M3=R %月还款额

sum_R=sum(R) %总利息

M4=debt

sum_Amount=P+sum_R %还款总额

last_number_of_periods_debt=P+P*rate %最后一个月还款金额

M=M-zeros(1,number_of_periods)

data=[Amount,R,debt,M,M3]%月初所欠金额 利息额 月末所欠金额 偿还利息 月末付款

[n,m]=size(data)

result= cell(n+1,m)

result(1,:)={‘月初所欠金额’,’利息额’,’月末所欠金额’,’偿还本金’,’月末付款利息’}

result(2:end,:) = num2cell(data)

xlswrite(data.xlsx,result,’先息后本还款方式’)%输出excel

fprintf(sum_R=%f’,sum_R)

fprintf(sum_Amount=%f’,sum_Amount)

end

源文档

完整文档详见:博客相关资源-小额贷款的划算问题