我的作业需要一些帮助。我需要创建一个数组,用于存储五个元素,然后创建五个元素的数组,其名称为美元和美分。我的问题是我无法理解如何将金额数组中每个值的整数部分存储在美元的相应元素中,并将金额的小数部分存储为两位数整数(如果我输入2.75 - 存储) 2美元阵列和75美分阵列。。如何做到这一点的任何建议将不胜感激!感谢
这就是我现在所拥有的:
void main()
{
float amounts[5];
long dollars[5];
long cents[5];
int i = 0;
printf("Enter five monetary values separated by spaces:\n");
for(i = 0; i<5 ; i++)
scanf("%f", &amounts[i]);
for (i = 0; i<5; i++){
printf ("\ni=[%d], dollars: %.2f, cents: %.2f\n", i, dollars, cents);
}
printf("\nYou entered the values: \n");
for(i = 0; i<5 ; i++)
printf("$%.2f\n", amounts[i]);
printf("\n");
}
答案 0 :(得分:1)
dollars[i] = (long)(amounts[i])
将截断它,即删除小数部分。
cents[i] = (long)((amounts[i] - dollars[i]) * 100);
会将小数部分作为整数给出。