Вопрос № 106653: Здравствуйте эксперты,
Читал на досуге Стивена Прата, у него есть задачка :
Напишите программу, которая запрашивает имя и выполняет с ним следующие действия :
Печатает его в поле шириной , на три символа превышающем длину имени.
Со сп...
Вопрос № 106.653
Здравствуйте эксперты,
Читал на досуге Стивена Прата, у него есть задачка :
Напишите программу, которая запрашивает имя и выполняет с ним следующие действия :
Печатает его в поле шириной , на три символа превышающем длину имени.
Со спецификаторами преобразования в printf знаком , как вычислить длину имени тож понятно , прибавить 3 не проблема.
Спецификатор в данном случае выглядит %s , задать ширину поля %10s ... а вот как туда воткнуть %d с +3 ...
Помогите разобраться ...
Отправлен: 24.10.2007, 22:38
Вопрос задал: Mike V Dao (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: Воробьёв Алексей Викторович
Здравствуйте, Mike V Dao!
Если в качестве ширины указана звёздочка, ширина поля указывается в списке аргументов перед значением для вывода (например, printf( "%0*5x", 8, 15 ); выведет текст 0000000f).
Это вырезка из статьи на http://ru.wikipedia.org/wiki/Printf
Ответ отправил: Воробьёв Алексей Викторович (статус: 7-ой класс)
Ответ отправлен: 25.10.2007, 06:06 Оценка за ответ: 5 Комментарий оценки: Спасибо !
решил проблему вот так :
#include "stdafx.h"
#include "string.h"
int main()
{
char name[40];
printf("Plz enter the number :");
scanf("%s",&name);
printf("\\"%- *s\\"", strlen(name)+3, name);
return 0;
}
Отвечает: Sergey A. Wedensky
Здравствуйте, Mike V Dao!
Можно строку формата сначала сформировать, а потом использовать:
Ответ отправил: Sergey A. Wedensky (статус: Студент)
Ответ отправлен: 25.10.2007, 10:22 Оценка за ответ: 5 Комментарий оценки: Спасибо !
Отправить вопрос экспертам этой рассылки
Приложение (если необходимо):
* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.
Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!
Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.
Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.