第三章 最简单的C程序设计——顺序程序设计
- 例3.1 有人用温度计测量出用华氏法表示的温度(如 64℉),今要求把它转换为以摄氏法表示的温度(如17.8℃)。
- 例3.2 计算存款利息。有1000元,想存一年。有3种方法可选:(1)活期,年利率为r1;(2)一年期定期,年利率为r2;(3)存两次半年定期,年利率为r3。请分别计算出一年后按3种方法所得到的利息和。
- 例3.3 给定一个大写字母,要求用小写字母输出。
- 例3.4 给出三角形的三边长,求三角形面积。
- 例3.5 求 a*x*x+b*x+c=0方程的根。a,b,c由键盘输入,设b*b-4*a*c>0。
- 例3.6 用%f输出实数,只能得到6位小数。
- 例3.7 float型数据的有效位数。
- 例3.8 先后输出BOY三个字符。
- 例3.9 从键盘输入BOY3个字符,然后把它们输出到屏幕。
- 例3.10改写例3.3程序,使之可以适用于任何大写字母。从键盘输入一个大写字母,在显示屏上显示对应的小写字母。
例3.1 有人用温度计测量出用华氏法表示的温度(如 64℉),今要求把它转换为以摄氏法表示的温度(如17.8℃)。
#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元,想存一年。有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 求 axx+bx+c=0方程的根。a,b,c由键盘输入,设bb-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输出实数,只能得到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;
a=10000/3.0;
printf("%f\n",a);
return 0;
}
运行结果如下:
a=3333.333333
例3.8 先后输出BOY三个字符。
方法一:
#include<stdio.h>
int main()
{ char a='B',b='C',c='Y'; //定义3个字符变量并初始化
putchar(a); //向显示器输出字符B
putchar(b); //向显示器输出字符O
putchar(c); //向显示器输出字符Y
putchar('\n'); //向显示器输出一个换行符
return 0;
}
运行结果如下:
方法二:
#include<stdio.h>
int main()
{ int a=66,b=79,c=89; //定义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,b,c
a=getchar(); //从键盘输入一个字符,送给字符变量a
b=getchar(); //从键盘输入一个字符,送给字符变量b
c=getchar(); //从键盘输入一个字符,送给字符变量c
putchar(a); //将变量a的值输出
putchar(b); //将变量b的值输出
putchar(c); //将变量c的值输出
putchar('\n'); //换行
return 0;
}
运行结果如下:
方法二:
#include<stdio.h>
int main()
{
putchar(getchar()); //将接收到的字符输出
putchar(getchar()); //将接收到的字符输出
putchar(getchar()); //将接收到的字符输出
putchar('\n'); //换行
return 0;
}
运行结果如下:
例3.10改写例3.3程序,使之可以适用于任何大写字母。从键盘输入一个大写字母,在显示屏上显示对应的小写字母。
方法一:
#include<stdio.h>
int main()
{
char c1,c2;
c1=getchar(); //从键盘读入一个大写字母,赋给字符变量c1
c2=c1+32; //求对应小写字母的ASCII代码,放在字符变量c2中
putchar(c2); //输出c2的值,是一个字符
putchar('\n');
return 0;
}
运行结果如下:
方法二:
#include<stdio.h>
int main()
{char c1,c2;
c1=getchar(); //从键盘读入一个大写字母,赋给字符变量c1
c2=c1+32; //得到对应的小写字母的ASCII代码,放在字符变量c2中
printf("大写字母: %c\n小写字母: %c\n",c1,c2); //输出c1,c2的值
return 0;
}
运行结果如下: