C Primer Plus 第5章 运算符、表达式和语句 5.7 一个示例程序

原创
2016/05/22 06:48
阅读数 58
/*running.c --一个对于长跑运动员有用的程序*/
#include <stdio.h>
const int S_PER_M = 60; 
const int S_PER_H = 3600; 
const double M_PER_K = 0.62137;
int main()
{
    double distk,distm; //分别以英里和公里计的跑过的距离
    double rate; //以英里/小时为单位的平均速度
    int min,sec; //跑步用的分钟数和秒数
    int time; //用秒表示的跑步用时
    double mtime; //跑完一英里所用的时间,以秒计
    int mmin,msec; //跑完一英里所用的时间,以分钟和秒计

    printf("This program converts your time for a metric race \n");
    printf("to a time for running a mile and to your average\n");
    printf("speed in miles per hour.\n);
    printf("please enter ,in kilometers,the distance run.\n");
    scanf("lf%",&distk);  //lf表示读取一个double类型的值
    printf("Next,enter the time in minutes and seconds.\n");
    printf("Begin by entering the minutes.\n);
    scanf("%d",&min);
    printf("Now enter the seconds.\n");
    scanf("%d",&sec);
    //把时间转换为全部用秒表示
    time = S_PER_M*min + sec;
    //把公里转换为英里
    distm = M_PER_K * distk;
    //英里/秒X秒/小时=英里/小时
    rate = distm/time * S_PER_H;
    //时间/距离=跑完每英里的用时
    mtime = (double)time/distm;
    mmin = (int)mtime/S_PER_M; //求出分钟数
    msec = (int)mtime%S_PER_M; //求出剩余的秒数
    printf("You ram %1.2f km(%1.2f miles) in %d min,%d sec .\n",
            distk,distm,min,sec);
    printf("That pace corresponds to running a mile in %d min,",mmin);
    printf("%d sec.\n Your average speed was %1.2f mph.\n",msec,rate);
    
    return 0;
}

使用类型指派,使您的目的不但对读者很明显,就是对编译器也很明显。

展开阅读全文
打赏
2
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
2
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部