注册 登录
编程论坛 VC++/MFC

求大佬们解答疑惑,为什么这段代码只能输入,却不输入啊(大哭)

石锐 发布于 2021-10-24 23:32, 1223 次点击
#include<stdio.h>
void main()
{
    float t1,t2,t3,t4,t5,t6;
    float s1,s2;
    float delta1,delta2;
    printf("请输入起始时间");
    scanf("%f时\n%f分\n%f秒\n",t1,t2,t3);
    printf("请输入结束时间");
    scanf("%f时\n%f分\n%f秒\n",t4,t5,t6);
    printf("请输入初始和结束时间");
    scanf("%f千米\n%f千米\n",s1,s2);
    delta1=(t4*3600+t5*60+t6)-(t1*3600+t2*60+t3);
    delta2=(s2*1000)-(s1*1000);
    printf("速度%f",(delta2/delta1)*3.6);
    return;
3 回复
#2
石锐2021-10-25 00:11
回复 楼主 石锐
没人么。。。
#3
apull2021-10-25 09:02
scanf里的\n和文字去掉,不然你输入的时候必须要输入回车和文字才行。
scanf里的变量前需要加&

程序代码:

#include<stdio.h>
void main()
{
    float t1,t2,t3,t4,t5,t6;
    float s1,s2;
    float delta1,delta2;
    printf("请输入起始时间:(时 分 秒)\n");///
    scanf("%f%f%f",&t1,&t2,&t3);///
    printf("请输入结束时间:(时 分 秒)\n");///
    scanf("%f%f%f",&t4,&t5,&t6);///
    printf("请输入初始和结束距离(千米)\n");///
    scanf("%f%f",&s1,&s2);///
    delta1=(t4*3600+t5*60+t6)-(t1*3600+t2*60+t3);
    delta2=(s2*1000)-(s1*1000);
    printf("速度%f",(delta2/delta1)*3.6);
    return;
}


请输入起始时间:(时 分 秒)
1 10 20
请输入结束时间:(时 分 秒)
1 30 40
请输入初始和结束距离(千米)
100 500
速度1180.327917

[此贴子已经被作者于2021-10-25 09:12编辑过]

#4
鑫噻2022-01-02 00:29
scanf里面不能有/n的啊,还有就是,缺少地址符号。
1