C程序设计第五版谭浩强 || 第三章习题答案

目录

1. 年增长率

2. 存款利息​

3. 贷款​

4. 分析程序

5. scanf输入 

 6. 译码​

7. 圆 

8. 字符


1. 年增长率

【知识点】:pow(x,y)表示x的y次方,需引入math.h头文件

#include <stdio.h>
#include <math.h>
int main() {
    int n;
    double r, p;
    n = 10;
    r = 0.07;
    p = pow(1 + r, n);  //pow(x,y):x的y次方,需引入math.h头文件
    printf("%d年后我国国民生产总值与现在相比增长%lf", n, p);
    return 0;
}


2. 存款利息

#include <stdio.h>
#include <math.h>
int main(){
    double p0,p1,p2,p3,p4,p5;
    double r1=0.015,r2=0.021,r3=0.0275,r5=0.03,r=0.0035;
    p0=1000;
    p1=p0*(1+5*r5);
    p2=(p0*(1+2*r2))*(1+3*r3);
    p3=(p0*(1+3*r3))*(1+2*r2);
    p4=p0*pow(1+r1,5);
    p5=p0*pow(1+r/4,4*5);
    printf("方案一的本息和为%lf\n",p1);
    printf("方案二的本息和为%lf\n",p2);
    printf("方案三的本息和为%lf\n",p3);
    printf("方案四的本息和为%lf\n",p4);
    printf("方案五的本息和为%lf\n",p5);
    return 0;
}


3. 贷款

#include <stdio.h>
#include <math.h>
int main(){
    int d=300000,p=6000;
    double r=0.01,m;
    m=log(p/(p-d*r))/log(1+r);
    printf("%.1f个月能还清",m);	//结果保留小数点后一位
    return 0;
}

 

 验证是否对第2位按四舍五入处理:

#include <stdio.h>
#include <math.h>
int main(){
    int d=300000,p=6000;
    double r=0.01,m;
    m=log(p/(p-d*r))/log(1+r);
    printf("%.2f个月能还清",m);	// 验证是否对第2位按四舍五入处理
    return 0;
}


4. 分析程序

(1)

  • char类型:占一个字节,取值范围[-128,127],而字符代码不可能为负值,所以有效范围为[0,127]。
  • %c:输出字符型数据
  • %d:输出十进制整型数据
  • ASCII码:97-a,98-b
  • 字符在ASCII码的[0,127]范围内都可以表示出十进制整型数据。
#include <stdio.h>
int main(){
    char c1,c2;
    c1=97;
    c2=98;
    printf("c1=%c,c2=%c\n",c1,c2);
    printf("c1=%d,c2=%d\n",c1,c2);
    return 0;
}

 (2)

#include <stdio.h>
int main(){
    char c1,c2;
    c1=197;
    c2=198;
    printf("c1=%c,c2=%c\n",c1,c2);
    printf("c1=%d,c2=%d\n",c1,c2);
    return 0;
}

(3)

#include <stdio.h>
int main(){
    int c1,c2;
    c1=97;
    c2=98;
    printf("c1=%c,c2=%c\n",c1,c2);
    printf("c1=%d,c2=%d\n",c1,c2);
    return 0;
}


5. scanf输入 


 6. 译码

#include <stdio.h>
int main(){
    char c1='C',c2='h',c3='i',c4='n',c5='a';
    c1=c1+4;
    c2=c2+4;
    c3=c3+4;
    c4=c4+4;
    c5=c5+4;
    
    printf("用putchar函数输出:");
    putchar(c1);
    putchar(c2);
    putchar(c3);
    putchar(c4);
    putchar(c5);
    
    printf("用printf函数输出:");
    printf("%c%c%c%c%c",c1,c2,c3,c4,c5);
    return 0;
}


7. 圆 

#include <stdio.h>
int main(){
    float r,h,c,s,sq,vq,vz;
    const float pi=3.14;
    printf("请输入圆半径和圆柱高:(r h)\n");
    scanf_s("%f %f",&r,&h);
    c=2*pi*r;
    s=pi*r*r;
    sq=4*pi*r*r*r;
    vq=3.0/4.0*pi*r*r;
    vz=s*h;
    printf("圆周长为%.2f\n",c);
    printf("圆面积为%.2f\n",s);
    printf("圆球表面积为%.2f\n",sq);
    printf("圆球体积为%.2f\n",vq);
    printf("圆柱体积为%.2f\n",vz);
    return 0;
}


8. 字符

  1. 都可以。
  2. 输出ASCII码需用printf函数的%d格式符。
  3. 在ASCII码范围内[0,127]可互相替代。
#include <stdio.h>
int main() {
    char c1, c2;
    int c3, c4;
    c1 = getchar();
    c2 = getchar();
    c3 = getchar();
    c4 = getchar();

    printf("用putchar函数输出:\n");
    putchar(c1);
    putchar(c2);
    printf("\n");
    putchar(c3);
    putchar(c4);

    printf("\n用printf函数输出:\n");
    printf("%c %c\n", c1, c2);
    printf("%c %c\n", c3, c4);
    return 0;
}

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值