У меня есть домашнее задание, которое требует ввода пользователем набора действительных чисел. Я должен хранить их в массиве размером 20 и должен печатать массив в float
s.Печать массива в float, где размер зависит от пользовательского ввода
Моя проблема заключается в том, что мой массив печатает больше пяти чисел, которые требуются. пять номеров: 10, 37, 15, 21, 18
.
Мне нужна помощь при печати только пяти номеров, в float
с одним десятичным знаком.
Я использую Centos6.7 в Oracle VM VirtualBox с текстовым редактором gedit. Любая помощь приветствуется.
#include <stdio.h>
#define SIZE 20
int main(void)
{
int i, inputs[SIZE];
printf("Enter real numbers, up to %d, q to quit\n", SIZE);
for(i=0; i < SIZE; i++)
scanf("%d", &inputs[i]);
printf("You entered the following values:\n");
for(i=0; i < SIZE; i++)
printf("%4d", inputs[i]);
printf("\n");
return 0;
}
Это выход из программы:
[[email protected] cprog]$ gcc jperez_aver.c
[[email protected] cprog]$ ./a.out
Enter real numbers, up to 20, q to quit
10 37 15 21 18 q
You entered the following values:
10 37 15 21 18 04195443 0-503606696327674196037 0-891225184 494195968 0 0 04195552 0
Первая проблема, которую я вижу здесь: вы предлагаете пользователю вводить реальные цифры, но вместо этого ожидайте целые числа. –
Вы всегда должны компилироваться с предупреждениями и компилироваться в последней версии C, т. Е. Использовать 'gcc jperez_aver.c -Wall -Wextra -pedantic -std = c11'. –
Вторая проблема: вы печатаете весь массив, независимо от того, сколько значений было введено. –