c语言例题及课后习题总结
第三章 最简单的c程序设计–顺序程序设计
例题3.1
有人用温度计测量出用华氏法表示的温度f,今要求把它转化为以摄氏度表示的温度c。
#include<stdio.h>
int main()
{
float f,c;
f=64.0;
c=(5.0/9)*(f-32);
printf("f=%f\nc=%f\n",f,c);
return 0;
}
运行结果:
例题3.2
计算存款利息。有1000元,想存1年。有3种方法可选:1.活期,年利率为r1;2.一年期定期,年利率r2;3.存两次半年定期,年利率r3。请分别计算出一年后按3种方法所得到的本息和。
#include<stdio.h>
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;
}
运行结果:
例题3.3
给定一个大写字母,要求用小写字母输出。
#include<stdio.h>
int main()
{
char c1,c2;
c1='A';
c2=c1+32;
printf("%c\n",c2);
printf("%d\n",c2);
return 0;
}
运行结果:
例题3.4
给出三角形的三边长,求三角形的面积。
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,s,area;
a=3.67;
b=5.43;
c=6.21;
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%f\tb=%f\tc=%f\n",a,b,c);
printf("area=%f\n",area);
return 0;
}
运行结果:
例题3.5
求ax^2 +bx+c=0方程的根。a,b,c由键盘输入,设b^2-4ac>0。
#include<stdio.h>
#include<math.h>
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\n",x1,x2);
return 0;
}
运行结果:
例题3.6
用%f输出实数,只能得到六位小数。
#include<stdio.h>
int main()
{
double a=1.0;
printf("%f\n",a/3);
return 0;
}
运行结果:
例题3.7
float型数据的有效位数。
#include<stdio.h>
int main()
{
float a;
a=10000/3.0;
printf("%f\n",a);
return 0;
}
运行结果:
float型数据只能保证6-7位有效数字,所以从左边开始第7位(即第三位小数)以后的数字不能保证准确性。
例题3.8
先后输出BOY三个字符。
#include<stdio.h>
int main()
{
char a='B',b='O',c='Y';
putchar(a);
putchar(b);
putchar(c);
putchar('\n');
return 0;
}
运行结果:
例题3.9
从键盘输入BOY3个字符,然后把它们输出到屏幕。
#include<stdio.h>
int main()
{
char a,b,c;
a=getchar();
b=getchar();
c=getchar();
putchar(a);
putchar(b);
putchar(c);
putchar('\n');
return 0;
}
运行结果:
例题3.10
#include<stdio.h>
int main()
{
char c1,c2;
c1=getchar();
c2=c1+32;
putchar(c2);
putchar('\n');
return 0;
}
运行结果: