如何在数组中选择给定数据?

时间:2017-02-03 19:33:08

标签: c

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

1 个答案:

答案 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