Задачас Циклом На С:

Тема в разделе "C/C++/C#", создана пользователем MonteCristo, 15 ноя 2014.

  1. MonteCristo

    MonteCristo New Member

    Регистрация:
    15 ноя 2014
    Сообщения:
    1
    Симпатии:
    0
    здравствуйте! вот программа на С:

    Код (C++):
    /*условие задачи:Дано действительное число а(1<а<3).
    Составить алгоритм, находящий среди чисел 1 , 1+1/2 , 1+1/2+1/3 , ... первое, большее а.*/

    #include<stdio.h>
    #include<math.h>
    #include<locale.h>
    void main()
    {
    setlocale(0, "russian");
    double a, s;
    int i;
    i = 1;
    printf("Введите число больше 1 и меньше 3\n");
    scanf_s("%f", &a);
    for (s = 0; s <= a; i++)
    {
    s = s + 1/i;
    }
    printf("%f\n", s);
    }
    Вопрос: почему не выполняется цикл?
     

    Вложения:

  2. Astyxys

    Astyxys New Member

    Регистрация:
    13 июл 2010
    Сообщения:
    4
    Симпатии:
    0
    Код (C++):
    #include<stdio.h>
    #include<math.h>
    #include<locale.h>
    int main()
    {
    setlocale(0, "russian");
    float a, s;
    s = 0.0f;
    printf("Введите число больше 1 и меньше 3\n");
    scanf("%f", &a);
    for (int i = 1; s < a; i++)
    {
    s += (float)1/i;
    }
    printf("%f\n", s);

    return 0;
    }
    Ты сменил всю локаль. При вводе чисел с плавающей точкой(в настройках русской локали) тебе надо вводить не точку, а запятую.
     
Загрузка...
Похожие Темы - Задачас Циклом На
  1. Alexsandraaa
    Ответов:
    7
    Просмотров:
    180
  2. lira89
    Ответов:
    3
    Просмотров:
    3.077

Поделиться этой страницей