第3章 最简单的C程序设计——顺序程序设计
例3-1温度转换
有人用温度计测量出用华氏法表示的温度(如64°F),今要求把它转换为以摄氏法表示的温度(如17.8℃)。
#include<stdio.h>
int main ()
{
float f,c;//定义f和c为单精度浮点型变量
f=64.0;//指定f的值
c=(5.0/9)*(f-32);//利用公式计算c的值
printf("f=%f\nc=%f\n",f,c);//输出c的值
return 0;
}
例3-2 计算存款利息
有1000元,想存一年有三种方法可选:(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';//将字符'A'的ASII代码放到c1变量中
c2=c1+32;//将得到字符'a'的ASCII代码,放在c2变量中
printf("%c\n",c2);//输出c2的值,是一个字符
printf("%d\n",c2);//输出c2的值,是字'a'的ASCII代码
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\t%f\n",a,b,c);
printf("area=%f\n",area);
return 0;
}
例3-5 求ax²+bx+c=0方程的根
a,b,c由键盘输入,设b²-4ac>0。
#include <stdio.h>
#include<math.h>//程序中要调用求平方根函数sqrt
int main()
{
double a,b,c,disc,x1,x2,p,q;//dis用来存放判别式(b*b-4ac)的值
scanf("%lf%lf%lf",&a,&b,&c);//输入双精度变量的值要用格式声明“%lf”
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输出实数,只能得到6位小数
#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=1.0;
a=10000/3.0;
printf("%f\n",a);
return 0;
}
例3-8 先后输出BOY三个字符
#include <stdio.h>
int main()
{
char a='B',b='O',c='Y';//定义3个字符变量并初始化
putchar(a);//向显示器输出字符B
putchar(b);//向显示器输出字符O
putchar(c);//向显示器输出字符Y
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 从键盘输入一个大写字母,在显示屏上显示对应的小写字母
改写例3.3程序,使之可以适用于任何大写字母。
#include <stdio.h>
int main()
{
char c1,c2;
c1=getchar();
c2=c1+32;
putchar(c2);
putchar('\n');
return 0;
}