Задать количество символов в выводе после запятой - C (СИ)
Формулировка задачи:
Как задать количество символов в выводе после запятой, не корректируя код программы?
#include "stdafx.h"
#include <math.h>
int _tmain(int argc, _TCHAR* argv[])
{
int i=1;
double a=4,b=0,c=3;
while (true)
{
if ((i%2) != 0)
{
b=(4./c);
a = a-b;
printf("%.10Lf\n",a);
c=c+2;
b=0;
i++;
}
else
{
b=(4./c);
a = a+b;
printf("%.10Lf\n",a);//cout << a << "\n";
c=c+2;
b=0;
i++;
}
};
return 0;
}Решение задачи: «Задать количество символов в выводе после запятой»
textual
Листинг программы
#include <stdio.h>
int main(void) {
double value = 1.0 / 3.0;
int afterpoint;
while ( printf("Digits after point: ") && scanf("%d", &afterpoint) == 1 && afterpoint >= 0 )
printf("%.*f\n", afterpoint, value);
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены две переменные:
valueтипаdoubleиafterpointтипаint. Значениеvalueпо умолчанию равно 1.0/3.0. - В цикле
whileс помощью функцииprintfпользователю предлагается ввести количество символов после запятой. - С помощью функции
scanfэто количество считывается в переменнуюafterpoint. - Если ввод корректен и количество символов после запятой больше или равно нулю, то с помощью функции
printfвыводится значениеvalueс заданным количеством символов после запятой. - Цикл продолжается до тех пор, пока пользователь не введет некорректное значение или не отправит сигнал конца файла.
- По завершении цикла программа возвращает 0, что означает успешный конец работы.