Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2011, 18:57   #1
Танчик007
 
Регистрация: 09.04.2011
Сообщений: 3
Восклицание преобразование типов яз СИ

дано вещественное число r и целое неотриц m . записать r в строку в формате :m по правилам форматного вывода ТР (например ввод -123.456 и 9 вывод -1.23е+02) выводит несовсем то что нужно.. помогите разобраться...
Код:
    float r,r1;
    unsigned k=0,i=0,n,m;
    int j=0;
    char s[1];
    printf("Vvedite r: "); scanf("%r",&r);
    printf("Vvedite m: "); scanf("%m",&m);
 
    if(r>0) s[i++]=' ';
    else
    {
        s[i++]='-';
        r=-r;
    }
    n=r;
    if(n>0)
    {
        while(n>9)
        {
            r/=10; j++;//j-счетчик знаков перед запятой
            k++; n=r;
        }
    }
    else
    {
        while(n==0)
        {
            r*=10; j++;
            n=r;
        }
    }
    s[i++]=n+'0'; s[i++]='.';
    r=r-(int)r;
    r *=10;
    n=r;
    r=r-(int)r;
    r1=r;
    r1=r1*10-(int)r1;
    if(r1>=5) n++;
    s[i++]=n+'0';
 
    if (m>8)
    {
        m-=8;
        for(m; m>1; m--)
        {
            r*=10;
            n=r;
            r=r-(int)r;
            s[i++]=n+'0';
        }
        r*=10;
        n=r;
        r=r-(int)r;
        r1=r;//r1=0.4499
        r1=r1*10-(int)r1;
        if(r1>=5) n++;
        s[i++]=n+'0';
    }
    s[i++]='e';
    if(k==1) s[i++]='+';
    else s[i++]='-';
 
    if(j<10)
    {
        s[i++]='0';
        s[i++]=j+'0';
    }
    else
    {
        while(j>0)
        {
            s[i++]=j/10+'0';
            j/=10;
        }
    }
    s[i]='\0';
    printf("%s",s);
}
Танчик007 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
преобразование типов Танчик007 Общие вопросы C/C++ 0 03.05.2011 15:39
Преобразование типов ArtGoN Общие вопросы C/C++ 5 16.11.2010 19:35
Преобразование типов Aleksandra1990 Общие вопросы C/C++ 5 12.05.2010 17:32
преобразование типов Dimarik Общие вопросы C/C++ 1 03.04.2010 16:28
Си. Преобразование типов pif Помощь студентам 3 20.04.2009 13:54