标题:为什么会得到一个很大的数?
只看楼主
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
结帖率:100%
已结贴  问题点数:10 回复次数:4 
为什么会得到一个很大的数?
行驶速度计算为什么会得到一个很大的数,输入0.5米,2800转,比例100:1
#include<stdio.h>
#include<math.h>
main()
{int i;
void runspeed();
void gonglv();
printf("\t\t\t公式计算大全\n");
do
{
printf("1---行驶速度计算\n");
printf("2---行走功率\n");
printf("3---退出\n");
scanf("%d",&i);
switch(i)
{case 1:runspeed();break;
 case 2:gonglv();break;
 default:printf("输入错误,请重新输入!");break;
}
}while(i!=3);
return 0;
}
void runspeed()
{
double v,r,i;
int n,a,b;
printf("请输入轮胎半径(米):");
scanf("%f",&r);
printf("\n发动机转速(转/分):");
scanf("%d",&n);
printf("总传动比请分别输入分子分母中间用空格格开:\n");
scanf("%d%d",&a,&b);
i=a/b;
v=(0.377*r*n)/i;                                    //这公式有问题吗?为什么编译后运算结果那么大?
printf("\n行驶速度(km/h)=%lf\n",v);
return;
}

void gonglv()
{float v,F,p;
printf("请输入行驶速度(m/s):");
scanf("%f",&v);
printf("\n牵引阻力(N):");
scanf("%f",&F);
p=F*v;
printf("\n行走所需功率(w)=",p);
return;
}



[此贴子已经被作者于2015-12-5 16:36编辑过]

搜索更多相关主题的帖子: default include double return 
2015-12-05 16:26
雨季过后
Rank: 2
来 自:江西
等 级:论坛游民
帖 子:14
专家分:20
注 册:2015-10-9
得分:10 
因为你定义轮胎半径r的时候是double类型,输入的时候是用%f,double类型输入只能用%lf,输出%f,%lf都能用,我以前也遇到过这个问题

希望论坛里的大神多多指导。
2015-12-05 16:59
雨季过后
Rank: 2
来 自:江西
等 级:论坛游民
帖 子:14
专家分:20
注 册:2015-10-9
得分:0 
你回答了我一个问题,我又回答了一个你的问题,好巧

希望论坛里的大神多多指导。
2015-12-05 17:02
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:0 
以下是引用雨季过后在2015-12-5 16:59:43的发言:

因为你定义轮胎半径r的时候是double类型,输入的时候是用%f,double类型输入只能用%lf,输出%f,%lf都能用,我以前也遇到过这个问题
真的,被这个问题困扰死了。
2015-12-05 17:06
雨季过后
Rank: 2
来 自:江西
等 级:论坛游民
帖 子:14
专家分:20
注 册:2015-10-9
得分:0 
以后都用%lf就行了,省的记混

希望论坛里的大神多多指导。
2015-12-05 17:53



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




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

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