最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

C程序设计(第四版)_谭浩强_第三章_课后习题答案

来源:动视网 责编:小OO 时间:2025-09-27 11:36:00
文档

C程序设计(第四版)_谭浩强_第三章_课后习题答案

最简单的C程序设计——顺序程序设计P0373.1把华氏温度转化为摄氏表示法.#includefloatF_to_C(floatinput_fah)//代表华转摄,input_fah是局部变量.{floatoutput_cen;//这里也是局部变量.output_cen=(5.0/9)*(input_fah-32);//函数的功能体.returnoutput_cen;//返回值,注意,返回值的数据类型应该和函数一致.}floatC_to_F(floatinput_cen){floatoutput
推荐度:
导读最简单的C程序设计——顺序程序设计P0373.1把华氏温度转化为摄氏表示法.#includefloatF_to_C(floatinput_fah)//代表华转摄,input_fah是局部变量.{floatoutput_cen;//这里也是局部变量.output_cen=(5.0/9)*(input_fah-32);//函数的功能体.returnoutput_cen;//返回值,注意,返回值的数据类型应该和函数一致.}floatC_to_F(floatinput_cen){floatoutput
最简单的C程序设计——顺序程序设计

P037   3.1   把华氏温度转化为摄氏表示法.

#include 

float F_to_C(float input_fah)   //代表华转摄,input_fah是局部变量.

{

    float output_cen;    //这里也是局部变量.

    output_cen=(5.0/9)*(input_fah-32);   //函数的功能体.

    return output_cen;   //返回值,注意,返回值的数据类型应该和函数一致.

}

float C_to_F(float input_cen)

{

    float output_fah;

    output_fah=(9.0/5)*input_cen+32;   //转换过程.

    return output_fah;

}

int main()

{

    int choice;

    float input_fah,input_cen,output_fah,output_cen;   //局部变量的调用及参数传递.

    printf("F_to_C press <1> and C_to_F press <2> !\\n");

    scanf("%d",&choice);

    if(choice==1)

    {        

        printf("Please input fahrenheit :");

        scanf("%f",&input_fah);   //这个是主函数定义的变量,虽然和调用函数同名.

output_cen=F_to_C(input_fah);   

        printf("The 华氏 is %d , 摄氏 is %d .",(int)input_fah,(int)output_cen); 

    }

    if(choice==2)

    {

        printf("Please input centigrade :");

        scanf("%f",&input_cen);

        output_fah=C_to_F(input_cen);

        printf("The Centigrade is %d , and the Fahrenheit is %d .",(int)input_cen,(int)output_fah);

    }

    return 0;

}

P038   3.2   计算存款利息(关于精度问题).

#include 

int main()

{

    float p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3;

    p1=p0*(1+r1);

    p2=p0*(1+r2);

    p3=p0*(1+r3/2)*(1+r3/2);

    printf("p1=%f\\np2=%f\\np3=%f\\n",p1,p2,p3);   

    return 0;

}

P055   3.3   大写转换成小写

#include 

int main()   //小写范围是97-122,大写范围是65-90,大写加上即得小写.26个字母.

{

    char c1, c2;

    c1='A';

    c2=c1+32;

    printf("%c %d",c2,c2);

    return 0;

}

P059   3.4   给出三角形边长,算出面积.

#include 

#include 

int main()   

{

    double a=3.67, b=5.43, c=6.21, s, area;

    s=(a+b+c)/2;

    area=sqrt(s*(s-a)*(s-b)*(s-c));

    printf("area is %f\\n",area);   //默认可以组成三角形.

    return 0;

}

P065   3.5   求一无二次等式的根,默认两个不同根.

#include 

#include 

int main()   

{

    double a,b,c,disc,x1,x2,p,q;

    scanf("%lf %lf %lf",&a,&b,&c);

    disc=b*b-4*a*c;

    p=-b/(2.0*a);

    q=sqrt(disc)/(2.0*a);

    x1=p+q;

    x2=p-q;

    printf("x1=%7.2f\\nx2=%7.2f",x1,x2);

    return 0;

}

P071   3.6   用%f输出实数,只能得到六位小数.

#include 

#include 

int main()   

{

    double a=1.0;   //1是整型,1.0是浮点型,默认是double.可以是float.

    printf("%.9f\\n",a/3);   

    return 0;

}

P072   3.7   float型数据的有效位数.

#include 

#include 

int main()

{

    float a;   //输出的结果是.333252,float精度6位,所以第七位后不可信.

    a=10000/3.0;

    printf("%f\\n",a);

    return 0;

}

P078   3.8   使用putchar函数输出.

#include 

#include 

int main()

{

    char a='B',b='O',c='Y';

    putchar(a);

    putchar(b);

    putchar(c);

    putchar('\\n');

    putchar(101);   //101是A的ASCII代码的缩写,因为此函数只能输出字符.

    putchar(66);

    return 0;

}

P079   3.9   使用getchar得到字符.

#include 

#include 

int main()

{

    char a,b,c;

    a=getchar();

    b=getchar();

    c=getchar();

    putchar(a);

    putchar(b);

    putchar(c);   //这也是基本回显的C程序代码.

    putchar('\\n');

    return 0;

}

P081   3.10   getchar得到大写,putchar输出小写.

#include 

#include 

int main()

{

    char a,b;

    a=getchar();

    b=a+32;

    putchar(b);  

    putchar('\\n');

    return 0;

}

P082   0.1   国民生产总值10年后的增长倍数.

#include 

#include 

int main()

{

    double p,r=0.09,n=10;

    p=pow((1+r),n);   //这是数学函数, pow(x,y)计算x的y次方.

    printf("P is %lf when 10 years later .\\n",p);

    return 0;   //结果是0.36倍.

}

P082   0.2   求各种存款的利息数.

#include 

#include 

int main()

{

    double p,r,n;   //年份和当年利率均有给出.

    p=1000*(1+5*0.0585);

    printf("5 years is %lf !\\n",p);   //1292.5,这是全五年期.lf输出的是double型.

    p=(1000*(1+2*0.0468));

    p=(p*(1+3*0.0540));

    printf("5 years is %lf !\\n",p);   //1270.76,这是先二年,再三年的.

    p=(1000*(1+3*0.0540));

    p=(p*(1+2*0.0468));

    printf("5 years is %lf !\\n",p);   //1270.76,这是先三年,再二年的.证明,是一样的.

    p=1000*pow((1+0.0414),5);

    printf("5 years is %lf !\\n",p);   //1224.86,这难道说是,相对的存死期越久越值钱.    p=1000*pow((1+0.072/4),4*5);

    printf("5 years is %lf !\\n",p);   //1428.74.

    return 0;   

}

P083   0.3   求几个月要以还贷.

#include 

#include 

int main()

{

    double m,r=0.01,d=300000,p=6000;   

    m=(log10(p/(p-d*r)))/(log10(1+r));

    printf("%.1lf",m);   //按要求只留一个小数,所以要写%.1lf.

    return 0;

}

P084   0.6   字母密码转换,调用函数及临界处理.

#include 

char printcode(char f)

{

    if(((int)f>86&&(int)f<91)||((int)f>118&&(int)f<123))

    {

        return(f-26+4);   //因为putchar会自动返回,所以改成return,因为这是在函数中,调用需要返回值.

    }

    else

    {

        return(f+4);

    }

}

int main()

{

    char a,b,c,d,e;

    printf("Please input :\\n");

    a=getchar();   

    b=getchar();

    c=getchar();

    d=getchar();

    e=getchar();   //临界问题.

    printf("%c%c%c%c%c",printcode(a),printcode(b),printcode(c),printcode(d),printcode(e));   

    putchar(putcharcode(a));

    putchar(putcharcode(b));

    putchar(putcharcode(c));

    putchar(putcharcode(d));

    putchar(putcharcode(e));

    return 0;   //注意理解自定义函数的定义,使用,及形参实参的流向.

    //p84的是计算问题,自己看着办,最后要求小数点后两位,用的是%.2lf 来实现,因为没有要求实部,所以m.n格式中m不写.

    //p84的是定义问题,第一问,两者都行,但是定义字母时,scanf要写%c来获取,而定义数值时则要用%d来获取.

    //                 第二问,putchar貌似只能输出字符,所以用printf.putchar本身就是字符输出函数啦,字符,有木有!!!字符啊!!尽管它的参数可以是putchar('\\101'),效果是输出字符A啊.

    //                 第三问,出现"任何"及"无条件",那么答案明显是"否".可以转换,但要在某此条件下,例如输出和读入时,%c是字母,而%d是数值,看着办.

}

文档

C程序设计(第四版)_谭浩强_第三章_课后习题答案

最简单的C程序设计——顺序程序设计P0373.1把华氏温度转化为摄氏表示法.#includefloatF_to_C(floatinput_fah)//代表华转摄,input_fah是局部变量.{floatoutput_cen;//这里也是局部变量.output_cen=(5.0/9)*(input_fah-32);//函数的功能体.returnoutput_cen;//返回值,注意,返回值的数据类型应该和函数一致.}floatC_to_F(floatinput_cen){floatoutput
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top