练习受挫,萌新求助

PF909 2018-05-08 04:21:17
具体就是下面这段,返回值始终是0,请各位大佬帮忙看看是哪里有问题,万分感谢!!
const int CM2M = 100;
int main()
{
using namespace std;
int CM;
float M = CM / CM2M + (CM % CM2M) * 0.01f;

cout << "Enter the height in CM: ";
cin >> CM;
cout << "Your in M is " << M << endl;
return 0;
}
...全文
364 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
PF909 2018-05-09
  • 打赏
  • 举报
回复
感谢各位回答,改成这样似乎更合理一些。
const int CM2M = 100;
int main()
{
    using namespace std;
    int CM = 0;
    float M = 0;
    cout << "Enter the height in CM: ";
    cin >> CM;
    M = CM / CM2M + (CM % CM2M) * 0.01f;
    cout << "Your in M is " << M << endl;
    return 0;
}
dark9527 2018-05-09
  • 打赏
  • 举报
回复
对CM没有初始化。
zhouqunhai 2018-05-08
  • 打赏
  • 举报
回复
类型转换有问题
千寻港生惠香 2018-05-08
  • 打赏
  • 举报
回复
输出值?返回值肯定是0.类型转换再算
白色一大坨 2018-05-08
  • 打赏
  • 举报
回复
顺序错了,你还没输入M值就进行了计算:

const int CM2M = 100;
int main()
{
	using namespace std;
	int CM;
	

	cout << "Enter the height in CM: ";
	cin >> CM;

	float M = CM / CM2M + (CM % CM2M) * 0.01f;

	cout << "Your in M is " << M << endl;
	return 0;
}
自信男孩 2018-05-08
  • 打赏
  • 举报
回复
float M = CM *1.0 / CM2M + (CM % CM2M) * 0.01f;
CM/CM2M,由于这两个变量都是整型,因此CM/CM2M是按照整型数除法计算的,因此结果也是一个整数。CM *1.0/CM2M是将整数除法强制变成浮点数除法。
赵4老师 2018-05-08
  • 打赏
  • 举报
回复
const int CM2M = 100;
using namespace std;
int main()
{
    int CM;
    cout << "Enter the height in CM: ";
    cin >> CM;
    float M = 1.0f*CM / CM2M + (CM % CM2M) * 0.01f;
    cout << "Your in M is " << M << endl;
    return 0;
}

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧