编写一个程序,从键盘上读取五个值。将它们存储在名为amount
的float
类型数组中。
使用名称dollars
和cents
来创建两个类型为long
的五个元素的数组。
将amount
数组中每个值的整数部分和小数部分分别存储在dollars
和cents
的相应元素中。
输出两个类型为long的数组的值作为货币金额(例如,$2.75
)。
提示
在amounts[1]
的值为2.75
,则将2
存储在dollars[1]
,75
则存储在cents[1]
中。
实现代码
#include <stdio.h>
int main(void)
{
const size_t size = 5;
float amounts[size]; // 存储的数据值
long dollars[size];
long cents[size];
printf("输入以空格分隔的 %zd 个货币值:\n", size);
for (size_t i = 0; i < size; ++i)
scanf("%f", &amounts[i]);
for (size_t i = 0; i < size; ++i)
{
dollars[i] = (long)amounts[i];
cents[i] = (long)(100.0*(amounts[i] - dollars[i]));
}
printf("\n");
for (size_t i = 0; i < size; ++i)
printf("结果为:%ld.%02ld ", dollars[i], cents[i]);
printf("\n");
return 0;
}
执行上面示例代码,得到以下结果:
hema@yiibai:~/book$ gcc main.c
hema@yiibai:~/book$ ./a.out
输入以空格分隔的 5 个货币值:
12.235 32.636 88.256 9.999 32.091
结果为:12.23 结果为:32.63 结果为:88.25 结果为:9.99 结果为:32.09