您的位置: 网站首页 > 程序开发 > C语言程序设计案例教程 > 第三章 顺序结构程序设计 > 【3.1 算术计算案例】

3.1 算术计算案例

 

3.1  算术计算案例

案例3.1  求三个整数的平均数

【项目任务】

输入三个整数,求它们的平均数。

【设计思路】

首先,定义三个整型变量abc和一个实型变量aver(表示平均数);然后,通过键盘任意输入变量abc的值;最后,计算三个整数的平均数,并输出结果,即aver值。

【程序代码】

#include <stdio.h>

main()

{

    int a,b,c;

    float aver;

   

    printf("Please input a,b,c:");

    scanf("%d,%d,%d",&a,&b,&c);

    aver=(a+b+c)/3.0;

    printf("aver=%.2f\n",aver);

}

【运行结果】

Please input a,b,c:1,3,5

aver=3.00

【知识拓展】

1printf( )scanf( )分别用于格式输出和输入,其格式分别为printf(格式控制,输出列表)scanf(格式控制,地址列表)

2aver的数据类型应该为实型。另外,思考将aver=(a+b+c)/3.0;改写成aver=(a+b+c)/3;后,会有什么影响。

案例3.2  华氏温度与摄氏温度的转换

【项目任务】

输入一个华氏温度,要求输出其对应的摄氏温度。公式为:

C=(5/9)(F-32)

输出结果要有文字说明,取2位小数。

【设计思路】

先定义两个变量fc,变量f用来存放输入的华氏温度的值,变量c用来存放转换好的摄氏温度的值。通过华氏温度与摄氏温度的转换关系公式C=(5/9)(F-32)计算,并将转换后的摄氏温度值输出。

【程序代码】

#include <stdio.h>

main()

{

    float c,f;

 

    printf("请输入一个华氏温度:\n");

    scanf("%f",&f);

    c=(5.0/9.0)*(f-32);   /*注意59要用实型表示,否则5/9的值为0*/

    printf("摄氏温度为:%5.2f\n",c);

}

【运行结果】

请输入一个华氏温度:

78

摄氏温度为:25.56

【知识拓展】

1.用运算符和括号将操作数连接起来的,并且符合C语言语法规则的式子称为算术表达式。在表达式求值时,应按运算符的优先级高低依次执行,其中括号在所有运算符中级别最高。

2.程序中%5.2f用来指定输出的数据共占5列,其中包含2位小数。通常在对单精度浮点型数据进行输出时,如果要指定输出的有效位数,可使用%m.nfh形式,它代表输出的数据共占m列,其中包含n位小数。

案例3.3  求三角形的面积

【项目任务】

输入三角形的三条边长,求三角形的面积(假定输入的三条边能构成三角形)。

【设计思路】

三角形的面积计算公式用海伦公式:

area=

其中abc为三角形的边长,s=是三角形的半周长,area为三角形的面积。

分析:

1)定义需要使用的变量abcsarea

2)确定三角形的边长,即变量abc的值(直接赋值或从键盘上输入)。

3)计算三角形的半周长,即变量s的值。

4)计算三角形的面积,即变量area的值。

5)输出变量area,显示计算结果。

【程序代码】

#include <stdio.h>

#include <math.h>

main()

{

    float a,b,c,s,area;

 

    printf("Please input a,b,c");

    scanf("%f,%f,%f",&a,&b,&c);

    s=(a+b+c)/2;

    area=sqrt(s*(s-a)*(s-b)*(s-c));

    printf("area=%.2f\n",area);

}

【运行结果】

第一次运行:

Please input a,b,c4,5,6

area=9.92

第二次运行:

Please input a,b,c6,8,10

area=24.00

【知识拓展】

1.程序中的sqrt( )是求平方根的函数,由于要调用数字函数库中的函数,必须在程序的开始处增加一条#include命令,将头文件math.h包含到程序中来。

2.思考:s=(a+b+c)/2;是否要改写成s=(a+b+c)/2.0;