标题:请教高手一下,下面的代码
只看楼主
屋顶
Rank: 1
等 级:新手上路
帖 子:174
专家分:7
注 册:2016-2-27
结帖率:92.86%
已结贴  问题点数:20 回复次数:10 
请教高手一下,下面的代码
#include<stdio.h>
const int S_PER_M=60;
const int S_PER_H=3600;
const double M_PER_K=0.62137;
int main(void)
{
    double distk,distm;
    double rate;
    int min,sec;
    int time;
    double mtime;
    int mmin,msec;
    printf("This progame converts yur 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,inkilometers,the distance run.\n");
        scanf("%1f",&distk);                    
    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=S_PER_M*distk;
    rate=distm/time*S_PER_H;
    mtime=(double)time/distm;
    mmin=(int)mtime/S_PER_M;
    msec=(int)mtime%S_PER_M;
    printf("You ran %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.\nYou average speed was %1.2f mph.\n",msec,rate);
    return 0;        
   
    }
上面的代码为什么输入一个数distk后,再按回车键就直接输出完了,不明白,不是还应该继续输入分钟和秒钟吗,谢谢
搜索更多相关主题的帖子: converts distance running average include 
2016-03-17 22:03
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
得分:5 
1。
scanf("%1f",&distk);  
1和l傻傻分不清楚
2。
数据类型直接简单粗暴的用double就好了,还搞个int有啥子用啊
2016-03-17 22:27
屋顶
Rank: 1
等 级:新手上路
帖 子:174
专家分:7
注 册:2016-2-27
得分:0 
回复 2楼 hjx1120
这个是我看的书中的一个例子,我自己照着编译之后,找不到毛病在哪儿,
那个是数字1。
2016-03-17 22:43
屋顶
Rank: 1
等 级:新手上路
帖 子:174
专家分:7
注 册:2016-2-27
得分:0 
有人教教我吗
2016-03-17 23:16
z13631440976
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
威 望:2
帖 子:40
专家分:118
注 册:2016-3-5
得分:5 
上面的代码为什么输入一个数distk后,再按回车键就直接输出完了

简单说 就是吃回车呗
2016-03-18 01:04
屋顶
Rank: 1
等 级:新手上路
帖 子:174
专家分:7
注 册:2016-2-27
得分:0 
回复 5楼 z13631440976
那是怎么回事呢,指教一下吧
2016-03-18 09:33
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
得分:5 
回复 6楼 屋顶
就是scanf("%1f",&distk)的问题,“1”改为“l”。书上也有错的。

能编个毛线衣吗?
2016-03-18 09:45
屋顶
Rank: 1
等 级:新手上路
帖 子:174
专家分:7
注 册:2016-2-27
得分:0 
回复 7楼 wmf2014
谢谢,可以了,就是因为数字1的原因
2016-03-18 09:50
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:5 
以下是引用屋顶在2016-3-18 09:50:21的发言:

谢谢,可以了,就是因为数字1的原因

你欠對2樓的一個交代!

授人以渔,不授人以鱼。
2016-03-18 12:03
屋顶
Rank: 1
等 级:新手上路
帖 子:174
专家分:7
注 册:2016-2-27
得分:0 
回复 2楼 hjx1120
抱歉了,是我的错,我是个新手,说的不对请指正。
2016-03-18 22:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-462622-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.329003 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved