我希望我的计划被审查。我不得不编写一个简单的程序来计算碳氢化合物中的分子数量。
#include <iostream>
using namespace std;
int main()
{
cout << "Enter mass of hydrocarbon (in grams)\n"
"followed by the number of carbon atoms\n"
"followed by the number of hydrogen atoms\n"
"(e.g. 10.5 2 6): " << flush;
float mass;
float carbonAtoms;
int hydrogenAtoms;
cin >> mass >> carbonAtoms >> hydrogenAtoms;
long formulaWght = (carbonAtoms * 12) + (hydrogenAtoms * 1);
double molecules = (mass / formulaWght) * 6.02e23;
cout << mass << " grams of hydrocarbon\nwith "
<< carbonAtoms << " carbon atom(s) and "
<< hydrogenAtoms << " hydrogen atom(s)\ncontains "
<< molecules << " molecules" << endl;
return 0;
}发布于 2014-10-11 03:47:42
using namespace std。读取这CARBON_AMU和HYDROGEN_AMU应为ints. const int CARBON_AMU= 12;const int HYDROGEN_AMU = 1;const double AVOGADRO =6.022141410704084099072e23;(e.g. 10.5 2 6): " << flush;我看不出使用std::flush有什么好处。你可以把它移走。发布于 2014-10-11 17:25:26
一些小的加号。
这些行上的所有括号都是不必要的,因为在C++ (和大多数语言,如果不是全部)中,乘法比加法具有更高的优先级:
长formulaWght = (carbonAtoms * 12) + (hydrogenAtoms * 1);双分子=(质量/ formulaWght) * 6.02e23;
顺便问一下,为什么要乘以1?
这相当于:
long formulaWght = carbonAtoms * 12 + hydrogenAtoms;
double molecules = mass / formulaWght * 6.02e23;除了@EngieOP建议重新设置最后一个cout之外,我还建议重新排列行,使嵌入的\n字符出现在代码行的末尾,就像在输出中一样,如下所示:
cout << mass << " grams of hydrocarbon\n"
<< "with " << carbonAtoms << " carbon atom(s) and "
<< hydrogenAtoms << " hydrogen atom(s)\n"
<< "contains " << molecules << " molecules" << endl;与using namespace std不同,如果您希望能够简单地引用cout和endl,可以这样做:
using std::cout;
using std::endl;https://codereview.stackexchange.com/questions/65332
复制相似问题