上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.3 程序举例
【例3.5】 已知a=5.0,b=2.5,c=7.8,计算
分析:由已知条件定义变量a、b、c为实型且赋初值,定义符号常量PI表示圆周率π,定义y为实型变量来存储以上公式的计算结果。
程序代码如下:
#include "stdio.h" #define PI 3.14 main( ) { float a=5.0,b=2.5,c=7.8,y; y=PI*a*b/(a+b*c); printf("y=%f\n",y); }
程序运行结果为:
y=1.602041
【例3.6】 从键盘输入两个整数赋给变量a和b,要求交换变量a和b中的值。
分析:定义3个整型变量a、b、t,a和b两个变量分别存储从键盘输入的两个整数,这两个整数可以调用scanf( )函数实现输入。交换a和b中值的方法是,首先将a中的值用临时变量t保存起来(在此可通过赋值语句“t=a;”来实现),然后将b的值赋给a(即“a=b;”),再把保存在临时变量t中的值赋给b(即“b=t;”)。根据此思路编写程序代码如下:
#include "stdio.h" main( ) { int a,b,t; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); t=a;a=b;b=t; printf("a=%d,b=%d\n",a,b); }
程序运行结果为:
输入:22 66<Enter> 输出: a=22,b=66 a=66,b=22
【例3.7】 从键盘输入一个大写字母,要求改用小写字母输出,并输出大写字母和小写字母的ASCII码值。
分析:定义c1、c2两个字符型变量来分别存储大写字母和小写字母,大写字母可以用getchar( )函数实现输入。大小写字母间转换的方法前面已经介绍过。根据此思路编写程序代码如下:
#include "stdio.h" main( ) { char c1,c2; c1=getchar( ); printf("%c,%d\n",c1,c1); c2=c1+32; printf("%c,%d\n",c2,c2); }
程序运行结果为:
输入: A<Enter> 输出: A, 65 a, 97
【例3.8】 设一元二次方程为ax2+bx+c=0,输入3个系数a、b、(c 设a不为0,且b2>4ac),求两个实根。
分析:定义变量a、b、c为实型,代表方程的3个系数,可以用scanf( )函数实现数据的输入;定义x1、x2两个实型变量来存储两个实数根。
一元二次方程的求根公式为:
程序代码如下:
#include "stdio.h" #include "math.h" main( ) { float a,b,c,x1,x2; scanf("%f%f%f",&a,&b,&c); x1=(-b+sqrt(b*b-4*a*c))/(2*a); x2=(-b-sqrt(b*b-4*a*c))/(2*a); printf("x1=%5.2f\nx2=%5.2f\n",x1,x2); }
程序运行结果为:
输入:2.3 6.7 3.1<Enter> 输出: x1=-0.58 x2=-2.34
本例中,sqrt( )是求平方根函数,其头文件为math.h,所以在程序的开头加#include "math.h"语句。
从本节的例题可以看出,顺序程序结构是一种按照语句书写顺序执行的简单的程序结构,可解决一些简单的问题。