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
答案 0 :(得分:3)
有一些问题。
首先,您的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