易百教程

编写程序来从用户读取值并存储在数组中

编写一个程序,从键盘上读取五个值。将它们存储在名为amountfloat类型数组中。
使用名称dollarscents来创建两个类型为long的五个元素的数组。
amount数组中每个值的整数部分和小数部分分别存储在dollarscents的相应元素中。

输出两个类型为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