int substance[5]={0.15, 0.8, 35.3, 401, 46};
printf("Please select the substance: (1)Oak (2)Glass (3)Lead (4)Copper (5)Steel)");
scanf("lf%", substance[0])
在数组中,我有不同材料的数据,
我希望用户键入1-5并选择其中一种材质。
例如,用户选择2,下面的计算将使用0.8
最佳答案
有一些问题。
首先,您的substance
-数组应该包含double
-值,因此它的类型也应该是double
(而不是int
)。
其次,如果要求用户输入,请将输入存储在单独的变量中(而不是存储在substance
-数组中)。
请尝试以下操作并使用调试器查看程序的行为:
double substance[5]={0.15, 0.8, 35.3, 401, 46};
printf("Please select the substance: (1)Oak (2)Glass (3)Lead (4)Copper (5)Steel)");
int position=-1;
scanf("%d", &position);
double actualSubstance = -1;
if (position > 0 && position <= 5) {
actualSubstance = substance[position-1];
}
// actualSubstance will contain the selected substance, or -1 if an invalid selection has been taken