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

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


2024年1月13日发(作者:)

最简单的C程序设计——顺序程序设计

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

#include

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

{

}

float C_to_F(float input_cen)

{

}

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)

{

}

if(choice==2)

{

}

return 0;

printf("Please input centigrade :");

scanf("%f",&input_cen);

output_fah=C_to_F(input_cen);

printf("The Centigrade is %d , and the Fahrenheit

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);

float output_fah;

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

return output_fah;

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

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

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

is %d .",(int)input_cen,(int)output_fah);

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=%fnp2=%fnp3=%fn",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 %fn",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.2fnx2=%7.2f",x1,x2);

return 0;

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

#include

#include

int main()

{

}

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

printf("%.9fn",a/3);

return 0;

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

#include

#include

int main()

{

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

}

a=10000/3.0;

printf("%fn",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()

{

}

return 0;

char a,b,c;

a=getchar();

b=getchar();

c=getchar();

putchar(a);

putchar(b);

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

putchar('n');

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))

{

}

else

{

}

return(f+4);

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

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),printcputchar(putcharcode(a));

putchar(putcharcode(b));

putchar(putcharcode(c));

putchar(putcharcode(d));

putchar(putcharcode(e));

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

//p84的是计算问题,自己看着办,最后要求小数点后两位,用的是%.2lf 来实现,因为没有//p84的是定义问题,第一问,两者都行,但是定义字母时,scanf要写%c来获取,而定义数值// 第二问,putchar貌似只能输出字符,所以用r本身就是ode(e));

要求实部,所以m.n格式中m不写.

时则要用%d来获取.

字符输出函数啦,字符,有木有!!!字符啊!!尽管它的参数可以是putchar('101'),效果是输出字符A啊.

}

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


发布者:admin,转转请注明出处:http://www.yc00.com/news/1705084854a1392273.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信