c - 在数组中存储值

标签 c

我的作业需要一些帮助。我需要创建一个数组 amounts 来存储五个元素,然后创建两个包含五个元素的数组,名称为美元和美分。我的问题是我无法理解如何将金额数组中每个值的整数部分存储在相应的美元元素中,并将金额的小数部分存储为以美分为单位的两位整数(就像我输入 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");

}

最佳答案

dollars[i] = (long)(amounts[i]) 会截断它,即去掉小数部分。

cents[i] = (long)((amounts[i] - dollars[i]) * 100); 会将小数部分作为整数给出。

关于c - 在数组中存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20319471/

相关文章:

c - 函数和函数参数内部的 MPI 调用

c - 从套接字读取然后分割输入字符串在 C 中的行为不正常

c - 在c中查找指向链表中元素的指针

c++ - 为 __stdcall 函数指针提供比预期更多的参数

c - <stdatomic.h> 中的 atomic_store/load 是否适用于 Intel 上未对齐的跨缓存行数据?

c - 如何使用 C 程序在 Linux 中获取磁盘使用情况?

c - C语言如何重复一个字符串

分配和重新分配内存时崩溃

c++ - 全局变量是如何存储的?

c - 如何在 C 中平均分割命令行参数