编写一个程序,设置一个值为1.0/3.0的double 类型变量,和一个值为1.0/3.0的float 类型变量,每个变量的值显示三次;一次在小数点右侧显示4个数字,一次在小数点右侧显示12个数字,另个一次在小数点右侧显示16个数字。同时让程序包括float.h文件。并显示FLT_DIG和DBL_DIG的值。1.0/3.0显示的值和这些值一致吗?
// 4-x-6.c
/*编写一个程序,设置一个值为1.0/3.0的double 类型变量,和一个值为1.0/3.0的float 类型变量,
   每个变量的值显示三次;一次在小数点右侧显示4个数字,一次在小数点右侧显示12个数字,
   另个一次在小数点右侧显示16个数字。同时让程序包括float.h文件。并显示FLT_DIG和DBL_DIG的值。
   1.0/3.0显示的值和这些值一致吗?
*/
#include <stdio.h>
#include <float.h>
//#define    a 1.0
//#define    b 3.0
int main (void)
 
{
/*     double c;
       c = (a / b);
       float d ;        这样作是不可以的因为常量不是能赋值(常量即不能发开改变是值)
       d = (a / b);
*/
       double a = 1.0;
       double b = 3.0;
       float c = 1.0;
       float d = 3.0;
 
       printf ("double 类型值:%.4f.float 类型值:%.4f.FLT_DIG的值为:%d DBL_DIG的值为:%d\n",a/b, c/d,FLT_DIG,DBL_DIG);
     printf ("double 类型值:%.12f.float 类型值:%.12f.FLT_DIG的值为:%d DBL_DIG的值为:%d\n",a/b,c/d,FLT_DIG,DBL_DIG);
     printf ("double 类型值:%.16f.float 类型值:%.16f.FLT_DIG的值为:%d DBL_DIG的值为:%d\n",a/b, c/d,FLT_DIG,DBL_DIG);
       return 0 ;
}

 

编写一个程序,要求用户输入行驶的英里数和消耗汽油的加仑数,接着应该计算和显示消耗每加仑汽油行驶的英里数,显示方式是在小数点右侧显示一个数字,然后,根据1加仑约等于3.785升,1英里约等于1.609公里的规则,它应该把每加仑英里数转换成每100公里的升数,并显示结果,显示方式是在小数点右则显示一个数字,用符号常量表示两个转换系数。
 
// 4-x-7.c
/* 编写一个程序,要求用户输入行驶的英里数和消耗汽油的加仑数,
    接着应该计算和显示消耗每加仑汽油行驶的英里数,显示方式是在小数点右侧显示一个数字,
       然后,根据1加仑约等于3.785升,1英里约等于1.609公里的规则,
       它应该把每加仑英里数转换成每100公里的升数,并显示结果,
       显示方式是在小数点右则显示一个数字,用符号常量表示两个转换系数。
*/
#include <stdio.h>
#define jialuen 3.785
#define yingli 1.609
int main (void)
{
       float c, d;
       float a = 0 ;
       float b = 0 ; //a英里数,b加仑数,
       printf ("请输入行驶的英里数和消耗汽油的加仑数\n");
       printf ("输入英里数:");
       scanf ("%f" ,&a);
       printf ("消耗汽油的加仑数:");
       scanf ("%f",&b);
       printf ("消耗每加仑汽油行驶的英里数:%.1f\n",a / b);
       c = a * yingli;
       d = b * jialuen ;
       printf ("转换成每100公里的升数%.1f\n",c * 100 / b);
 
      
       return 0 ;