Программа просто прекращает работу - C (СИ)
Формулировка задачи:
#include <stdio.h>
#include <math.h>
#define SIZE 10
int main()
{
int count[10] = {0};
int val;
int sal;
double t;
printf("Vvedite Valovuyu pribl: ");
scanf("%d",&val);
t = (0.09 * val) + 200;
sal =round(t);
if ((sal>201) && (sal<999)) ++count[(sal % 100) - 1];
else ++count[9];
printf("%d",sal);
getch();
}Решение задачи: «Программа просто прекращает работу»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
int main()
{
int count[10] = {0};
int val;
int sal;
double t;
int i;
printf("Vvedite Valovuyu pribl: ");
scanf("%d",&val);
t = (0.09 * val) + 200;
sal = round(t);
if ((sal>201) && (sal<999)) ++count[(sal % 100) - 1];
else ++count[9];
for (i=1; i<=9; ++i)
printf("%d\n",count[i]);
getch();
}
Объяснение кода листинга программы
В этом коде:
- Объявлены массив
countи переменныеval,salиtсо значениями 0, 0 и 0.0 соответственно. - Пользователю предлагается ввести значение
val. - Значение
valпреобразуется в типdoubleи используется для вычисления значенияt. - Значение
tокругляется до ближайшего целого числа и присваивается переменнойsal. - Проверяется, находится ли значение
salв диапазоне от 201 до 999. Если да, то к соответствующему элементу массиваcountприбавляется единица. - Если значение
salне находится в указанном диапазоне, то кcount[9]прибавляется единица. - Выводится значение каждого элемента массива
count. - Программа ожидает нажатия клавиши для продолжения работы.