2013-12-02 2 views
1

Мне нужна помощь с моим заданием. Мне нужно создать массив, чтобы сохранить пять элементов, а затем два массива из пяти элементов с именами долларов и центов. Моя проблема заключается в том, что я не могу понять, как сохранить всю цифру в каждом значении в массиве сумм в соответствующем элементе долларов и дробную часть суммы в виде двухзначного целого числа в центах (например, если я ввожу 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"); 

} 
+2

Вам не хватает функции, которая преобразует 'суммы [i]' в 'доллары' и' центы '. Как бы вы определили все число чисел с плавающей запятой? Когда у вас есть все число, как вы можете определить дробную часть? Надеюсь это поможет. – KeithSmith

ответ

1

dollars[i] = (long)(amounts[i]) обрежет его, то есть, удалить дробную часть.

cents[i] = (long)((amounts[i] - dollars[i]) * 100); даст вам дробную часть как целое число.

Смежные вопросы