谭浩强c语言第三章习题

谭浩强c语言第三章习题

  • 3.1 假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总值与现在相比增加多少百分比
    p = ( 1 + r ) n p = (1+r)^n p=(1+r)n
    r r r为年利率, n n n为年数, p p p为与现在相比的倍数
#include <stdio.h>
#include <math.h>
int main()
{
    float p,r,n;
    printf("please input r and n\n");
    scanf("%f%f",&r,&n);
    p = pow(1+r,n);
    printf("%.4f\n",p);
    return 0;
}
  • 3.2 存款利息的计算。有1000元,想存5年,可按以下5种办法存:
    (1)一次存5年期
    (2)先存2年期,到期后将本息再存3年期
    (3)先存3年期,到期后将本息再存2年期
    (4)存1年期,到期后将本息再存1年期,连续存5次
    (5)存活期存款,活期利息每一季度结算一次
    2007年银行存款利息如下:
    1年期定期存款利息为4.14%
    2年期定期存款利息为4.68%
    3年期定期存款利息为5.4%
    5年期定期存款利息为5.85%
    活期存款利息为0.72%(活期存款每一季度结算一次利息)
    如果 r r r为年利息, n n n为存款年数,则计算本息和的公式为
    1年期本息和: P = 1000 ∗ ( 1 + r ) P=1000*(1+r) P=10001+r
    n年期本息和: P = 1000 ∗ ( 1 + n ∗ r ) P=1000*(1+n*r) P=10001+nr
    存n次1年期的本息和: P = 1000 ∗ ( 1 + r ) n P=1000*(1+r)^n P=10001+rn
    活期存款本息和: P = 1000 ∗ ( 1 + r / 4 ) 4 n P=1000*(1+r/4)^{4n} P=10001+r/44n
    说明: 1000 ∗ ( 1 + r / 4 ) 1000*(1+r/4) 10001+r/4是一个季度的本息和。
#include <stdio.h>
#include <math.h>
int main()
{
   float r,n,p,p1,p2,p3,p4,p5;
   //p表示利率,p4表示活期利率,P4表示活期本息和
   p = 1000;
   p1 = 0.0414;
   p2 = 0.0468;
   p3 = 0.0540;
   p4 = 0.0072;
   p5 = 0.0585;
   /*P1 = p*(1+r);
   Pn = p*(1+n*r);
   P1n = p*pow(1+r,n);
   P4 = p*pow(1+r/4,4*n);*/
   //一次存5年期
   printf("%lf\n",p*(1+5.*p5));
   //先存两年,到期再将本息存三年
   printf("%lf\n",p*(1+2.*p2)*(1+3.*p3));
   //先存三年,到期再将本息存两年
   printf("%lf\n",p*(1+3.*p3)*(1+2.*p2));
   //存5次一年期本息和
   printf("%lf\n",p*pow(1+p1,5));
   //存活期5年
   printf("%lf\n",p*pow(1+p4/4.0,4*5));
   return 0;
}
  • 3.3 购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少月能还清。d=300000,p=6000,r=1%,对求得的月份取小数点后一位,对第二位小数按四舍五入处理。
#include <stdio.h>
#include <math.h>
int main()
{
    float d,p,r,m;
    d = 300000;
    p = 6000;
    r = 0.01;
    m = log10(p/(p-d*r))/log10(1+r);
    printf("%.2f\n",m);
    return 0;
}
  • 3.6 编程序将"China"译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如:字母“A”后面第4个字母时"E",用"E"代替"A"。因此,“China"应译为"Glmre”。请编一程序,用赋初值的方法使c1, c2, c3, c4, c5这5个变量的值分别为’C’, ‘h’, ‘i’, ‘n’, ‘a’, 经过运算,使c1, c2, c3, c4, c5分别为’G’, ‘l’, ‘m’, ‘r’, ‘e’。分别用putchar函数和printf函数输出这个5个字符。
#include <stdio.h>
int main()
{
   char a = 'C',b = 'h',c='i',d='n',e='a';
   //putchar
    putchar(a+4);
    putchar(b+4);
    putchar(c+4);
    putchar(d+4);
    putchar(e+4);
    putchar('\n');
    //printf
    a+=4;
    b+=4;
    c+=4;
    d+=4;
    e+=4;
    printf("The password is %c%c%c%c%c\n",a,b,c,d,e);
    return 0;   
}
  • 3.7 设圆半径r=1.5,圆柱高h = 3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输入时要求有文字说明,取小数点后两位。
#include <stdio.h>
#include <math.h>
int main()
{
    float r,h,C,S1,S2,V1,V2;
    r = 1.5;
    h = 3;
    C = 2*M_PI*r;
    S1 = M_PI*pow(r,2);
    S2 = 4*M_PI*pow(r,2);
    V1 = 4.0/3.0*M_PI*pow(r,3);
    V2 = S1*h;
    printf("圆的周长为%.2f\n",C);
    printf("圆的面积为%.2f\n",S1);
    printf("圆球的表面积为%.2f\n",S2);
    printf("圆球的体积为%.2f\n",V1);
    printf("圆柱的体积为%.2f\n",V2);
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值