1.假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式为p=(1 +r)^n,r为年增长率,n为年数,p为与现在相比的倍数
代码:
1 #include<stdio.h>
2 #include<math.h>
3 int main()
4 {
5 float r=0.09;
6 int n=10;
7 double p=pow((1+r),n);
8 printf("p=%f\n",p);
9 return 0;
10 }
结果:
遇到的一些问题:一开始输入公式的时候用的是(1+r)^n,后来发现这种写法是错的
改成pow(1+r,n),并加上头文件#include<math.h>,结果又报错了。
搜索发现是gcc编译的时候需要在后面加上 -lm。(1+r)的括号去掉也可以的哈,试了一下。
参考了这位大佬的文章:
Ubuntu下math库函数编译时未定义问题的解决_大道至简的博客-CSDN博客
2.存款利息的计算。有1000元,想存5年,可按以下5种办法存;(1)一次存5年期。(2)先存⒉年期,到期后将本息再存3年期。(3)先存3年期,到期后将本息再存⒉年期。(4)存1年期,到期后将本息将本息再存1年期,连续存5次。(5)存活期存款。活期利息每一季度结算一次。
2007年12月的银行存款利息如下:
1年期定期存款利息为4.14%;2年期定期存款利息为4.68%;3年期定期存款利息为5.4%;5年期定期存款利息为.5.85%;
活期点款利息为0.72%(活期存款每一季度结算一次利息)。
如果r为年利率,n为存款年数,则计算本息和的公式为1年期本息和:P=1000 *(1十r);
n年期本息和:P=1000 *(1+n*r);
存n次1年期的本息和:P=1000 *(1十r)";活期存款本息和:P=1000 * (1+牙) "".说明:1000 *1+)是一个季度的本息和。
代码:
1 #include<stdio.h>
2 #include<math.h>
3 int main()
4 {
5 float r1=0.0414,r2=0.0468,r3=0.054,r5=0.0585,rh=0.0072,p1,p2,p3,p4,p 5;
6 p1=1000*(1+5*r5);//一次存五年
7 p2=1000*(1+2*r2)*(1+3*r3);//两年定期接三年定期
8 p3=1000*(1+3*r3)*(1+2*r2);//三年定期接两年定期
9 p4=1000*pow((1+r1),5);//一年定期连续存五次
10 p5=1000*pow(1+rh/4,4*5);//存活期,每一季度一结算i
11 printf("p1=%f\np2=%f\np3=%f\np4=%f\np5=%f\\n",p1,p2,p3,p4,p5);
12 return 0;
13 }
结果:
一些问题:做连续乘法的时候,两个括号之间没有*,导致报错。
3.购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少月能还清设d为 300000元,p为6000元,r为1%。对求得的月份取小数点后一位,对第⒉位按四舍五入处理。
代码:
1 #include<stdio.h>
2 #include<math.h>
3 int main()
4 {
5 int d=300000,p=6000;
6 float r=0.01,m;
7 m=log(p/(p-d*r))/log(1+r);
8 printf("m=%.2f",m);
9 return 0;
10 }
结果:
一些问题:后面忘掉要取小数点后两位。
C语言学习——保留小数点后n位并四舍五入_c保留小数点后n位_Crow_jing的博客-CSDN博客
4.分析下面的程序:char c1, c2; c1 = 97; c2 = 98; - 赵一凡177 - 博客园 (cnblogs.com)直接参考了这个,因为不太会!5月21号复习,完全会了,完全理解
盗版电子书把&x搞成了&a,我一看根本没法做,所以搜索了。
还是有一些问题,一开始输入没有打a= b= 输出有问题。
1、第一个和第二个%d的之间除了格式控制外还有普通字符,所以要原样输出。输入的是a=3b=7而不是3 7,注意不能有空格或者其他字符。
2、输入完第一个scanf后,要先输入一个空格,再输出%f的值,否则%f的值会到上一个%d里去。
3、%e的格式其实可以直接输入小数形式,它会自动转化为%e格式。
4、特别注意:%c格式中空格或者其他非法字符都算作有效字符输入,像%c%c这种输入不能有空额或者其他字符。5月21号复习,完全会了,完全理解
6.请编程序将“China”译为密码putchar的用法C语言:整理——putchar()用法 - 知乎 (zhihu.com)
c1+=4 就是 等价于 :c1 = c1 + 4;
代码:
1 #include<stdio.h>
2 int main()
3 {
4 char c1='C',c2='h',c3='i',c4='n',c5='a';
5 putchar(c1);
6 putchar(c2);
7 putchar(c3);
8 putchar(c4);
9 putchar(c5);
10 c1+=4;
11 c2+=4;
12 c3+=4;
13 c4+=4;
14 c5+=4;
15 printf("\n%c%c%c%c%c\n",c1,c2,c3,c4,c5);
16 return 0;
17 }
结果:
一些改进,在printf输出的前后都加了回车,这样看着清楚一点。
7.设圆半径r=1.5,圆柱高h=3,求圆周长
C语言中怎么表示派 -π_c语言π怎么表示_伏城无嗔的博客-CSDN博客
也可以直接float pi=3.14
圆球表面积计算公式:S=4πr²=πD²
球形的体积公式为:V球=4/3πR³
圆柱体积公式:V=π*r²* h
代码:
1 #include<stdio.h>
2 #include<math.h>
3 int main()
4 {
5 float r,h;
6 //printf("")
7 scanf("%f %f",&r,&h);
8 double pi=acos(-1.0);
9 float c=pi*2*r;
10 float s=pi*r*r;
11 float s2=4*pi*r*r;
12 float v=4/3*pi*r*r*r;
13 float v2=s*h;
14 printf("圆的周长是%.2f\n 圆的面积是%.2f\n 圆球的表面积是%.2f\n 圆球的体积是%.2f\n 圆柱的体积是%.2f\n",c,s,s2,v,v2);
15 return 0;
16 }
结果:
注意:每次修改保存后,再次运行需要再次编译,否则结果还是跟没有修改的时候一样。
8.编程序,用getchar函数读入两个字符给c1和c2,然后分别用putchar函数和printf函数输出
getchar()的用法_mlm5678的博客-CSDN博客
(1)c1和c2可以定义为字符型或整型,二者皆可。5月21号复习,完全会了,完全理解
(2)用printf函数输出,使用%d格式符,即:
printf("%d,%d\n", c1, c2);
结果为:97,98
(3)字符变量占1个字节,整型变量占2或4个字节。故整型变量在可输出字符的范围内(ASCII码为0到127之间的字符)是可以与字符型数据互相转换的。如果整数在此范围外,不能代替。