1、假如我国国民生产总值的年增长率为7%,计算10年后我国国民总生产总值与现在相比增长多少百分比。计算公式为:p = (1 + r)∧n
r为年增长率,n为年数,p为与现在相比的倍数
方法1
#include <stdio.h>
int main(){
double p; //与现在相比的倍数
double r = 0.07; //年增长率
int n; //年数
scanf("%d", &n);
int i;
for(i = 1;i <= n; i++){
if(i == 1){
p = (1 + r);
}else{
p = (1 + r) * p;
}
}
printf("%d年后,我国国民生产总值与现在相比增长%3.2lf%%",n, p);
return 0;
}
方法2
#include <stdio.h>
#include <math.h> //加入c语言的数学函数库
int main(){
double p; //与现在相比的倍数
double r = 0.07; //年增长率
int n; //年数
scanf("%d", &n);
p = pow((1 + r), n);
printf("%d年后,我国国民生产总值与现在相比增长%3.2lf%%",n, p);
return 0;
}
2、存款利息的计算。有1000元,想存5年,可按以下5种方式:
1)一次存5年期
2)先存2年期,到期后将本息再存3年期
3)先存3年期,到期后将本息再存2年期
4)存1年期,到期后将本息再存1年期,连续存5次
5)存活期存款。活期利息每一季度结算一次
2017年的银行存款利息如下:
1年定期存款利息为1.5%;
2年定期存款利息为2.1%;
3年定期存款利息为2.75%;
5年定期存款利息为3%;
活期存款利息为0.35(活期存款每一季度结算一次利息)
如果r为年利率,n为存款年数,则计算本息和的公式如下:
1年息本息和:P = 1000 * (1 + r);
n年期本息和:P = 1000 + (1 + n * r);
存n次1年期的本息和为:P = 1000 * (1 + r) ∧ n;
活期存款本息和:P = 1000 * (1 + r/4) ∧ 4n
说明:1000 * (1 + r / 4)是一个季度的本息和
#include <stdio.h>
#include <math.h>
int main(){
double P; //本息和
int n; //存款年数
double r; //年利润
int money; //存款金额
int LD;
printf("请输入存款的金额:");
scanf("%d", &money);
printf("\n请输入您存款的选择:1活期,2死期,3退出\n");
scanf("%d", &LD); //在这LD是作为 活期或者死期
if(LD == 2){
printf("请输入选择的套餐:\n1、一次存满n年;\n2、先存2年再存3年;\n3、先存3年再存2年;\n4、连续存n个m年;\n5退出;\n");
scanf("%d", &LD); //在这LD是作为套餐选择
if(LD == 1){ //套餐1
printf("请输入存款的年数:\n1、1年;\n2、2年;\n3、3年;\n4、5年;\n");
scanf("%d", &n);
if(n == 1){
r = 0.015;
} else if(n == 2){
r = 0.021;
}else if(n == 3){
r = 0.0275;
}else if(n = 5){
r = 0.03;
}else{
printf("请输入正确的选择!!");
return 0;
}
P = money * (1 + r * n);
}else if(LD == 2){ //套餐2
r = 0.021; //存2年的利息
P = money * (1 + r * 2);
r = 0.0275; //存3年的利息
P = P + money * (1 + r * 3);
}else if(LD == 3){ //套餐3
r = 0.0275;//存3年的利息
P = money * (1 + r * 3);
r = 0.021;//存2年的利息
P = P + money * (1 + r * 2);
}else if(LD == 4){
printf("请输入选择的套餐:\n1、连续存m年,1年取1次;\n2、连续存m年,2年取1次;\n3、连续存m年,3年取1次;\n4、连续存m年,5年取1次;\n");
scanf("%d", &n);
if(n == 1){
r = 0.015;
} else if(n == 2){
r = 0.021;
}else if(n == 3){
r = 0.0275;
}else if(n = 5){
r = 0.03;
}else{
printf("请输入正确的选择!!");
return 0;
}
P = money * pow((1 + r), n);
}else {
printf("请输入正确的选择!!");
return 0;
}
}else if(LD == 1){
r = 0.0035;
printf("请输入连续存款多少年:");
scanf("%d", &n);
P = money * pow((1 + r), (4 * n));
} else{
printf("请输入正确的选择!!");
return 0;
}
printf("最终获得的本息和为:%lf元", P);
return 0;
}
3
#include <stdio.h>
#include <math.h>
int main(){
double p = 6000; //每月的还款额
double r = 0.01; //月利率
double d = 300000; //贷款数目
double m; //还清月数
m = (log10(p) - log10(p - d * r)) / log10(1 + r);
printf("还款的月数:%2.0lf", m);
return 0;
}
4
1、运行后输出:c1=a,c2=b
c1=97,c2=98
因为输出格式不一样,第一行是以字符的格式输出,第二个会以十进制的形式输出
2、运行输出后:c1=?c2=?
c1=-59,c2=-58
因为char只占1个字节,值得范围为-128~127,上面的数字超出了char的范围,所以
char的字符储存符号就未知,所输出的数字也未知
3、运行输出后:c1=?c2=?
c1=197,c2=198
因为c1和c2本身的数值范围很大,所以以十进制输出,完全可以正常输出,但是这个数字超出char的范围,所以得到的为未知
5、说实在的%e这个不会
心情烦躁,不想写了