
Нейбауер А. - Моя первая программа на С C++ - 2002
.pdf{
puts("Как можно заразиться солитером?\n"); puts("Для получения правильного ответа
нажмите Enter\n");
pause=getchar();
puts("Если есть недожаренное мясо\n"); return;
}
quest3()
{
puts("Назовите основные группы крови.\n"); puts("Для получения правильного ответа
нажмите Enter\n");
pause=getchar();
puts("Основных групп крови четыре A, B, AB и O\n"); return;
}
quest4()
{
puts("Как будет по-французски море?\n"); puts("Для получения правильного ответа
нажмите Enter\n");
pause=getchar();
puts("По-французски море называется la mer\n"); return;
}
2.Напишите программу, в которой вводится число, а затем вызывается функция для расчета и отображения четвертой степени этого числа.
main()
{
int number;
printf("Введите целое число: "); scanf("%d", &number); tothefourth(number);
}
tothefourth(value) int value;
{
int power; power=value*value*value*value;
printf("Четвертая степень числа %d равна %d",
value, power);
return;
Ⱦɚɧɧɚɹ ɜɟɪɫɢɹ ɤɧɢɝɢ ɜɵɩɭɳɟɧɚ ɷɥɟɤɬɪɨɧɧɵɦ ɢɡɞɚɬɟɥɶɫɬɜɨɦ %RRNV VKRS Ɋɚɫɩɪɨɫɬɪɚɧɟɧɢɟ ɩɪɨɞɚɠɚ ɩɟɪɟɡɚɩɢɫɶ ɞɚɧɧɨɣ ɤɧɢɝɢ ɢɥɢ ɟɟ ɱɚɫɬɟɣ ɁȺɉɊȿɓȿɇɕ Ɉ ɜɫɟɯ ɧɚɪɭɲɟɧɢɹɯ ɩɪɨɫɶɛɚ ɫɨɨɛɳɚɬɶ ɩɨ ɚɞɪɟɫɭ piracy@books-shop.com
}
3.Внесите изменения в программу из упражнения 2 так, чтобы функция вычисляла четвертую степень числа, а затем передавала результат в main() для вывода на дисплей.
main()
{
int number, fourth; printf("Введите целое число: "); scanf("%d", &number);
fourth = tothefourth(number);
printf("Четвертая степень числа %d равна %d",
number, fourth);
}
int tothefourth(value) int value;
{
return(value*value*value*value);
}
4.Объясните, почему следующая программа написана неверно: dothis()
{
puts("Это первое"); main();
return(0);
}
main()
{
puts("Это второе"); return();
}
Собственная функция может помещаться только после функции main(), а не перед ней. Собственная функция не может вызывать main(). Программа должна быть отредактирована следующим образом:
main()
{
puts("Это первое"); dothis();
return(0);
}
dothis()
{
puts("Это второе");
www.books-shop.com
return(0);
}
Глава 8
1.Напишите программу, в которой вводится числовое значение, а затем выдается сообщение, четное или нечетное число было введено.
main()
{
int number, remain; printf("Введите число: "); scanf("%d", &number); remain=number % 2; if(remain==0)
puts("Введено четное число");
else
puts("Введено нечетное число");
}
2.Напишите программу, в которой вводится число и затем выдается сообщение, находится ли значение числа в пределах от 1 до 100.
main()
{
int number; printf("Введите число: "); scanf("%d", &number);
if(number > 0 && number <= 100)
puts("Значение числа находится в пределах от 1 до 100");
}
3.Напишите программу, в которой вводится целое число, а затем выдается сообщение, в каком интервале находится значение числа: меньше 0, от 0 до 50, от 51 до 100, от 101 до 150, больше 150.
main()
{
int number; printf("Введите число: "); scanf("%d", &number); if(number < 0)
puts("Введено отрицательное число");
else
if(number > 0 && number < 51)
puts("Число находится в пределах от 0 до 50");
else
if(number > 50 && number <= 101) puts("Число находится в пределах от 51 до 100");
www.books-shop.com
else
if(number > 101 && number < 151) puts("Число находится в пределах от 101 до 150");
else
puts("Введенное число больше 150");
}
4.Напишите программу, которая просит пользователя ввести числовые значения в переменные lownum и highnum. Значение lownum должно быть меньше чем highnum. Если числа введены не в соответствии с этим условием, программа должна поменять значения, поместив меньшее число в lownum, а большее— в highnum. Значения переменных должны быть выведены на экран.
main()
{
int lownum, highnum, temp;
puts("Введите два числа. Первое число \n"); puts("должно быть меньше, чем второе.\n"); printf("Введите меньшее число: "); scanf("%d", &lownum);
printf("Введите большее число: "); scanf("%d", &highnum); putchar('\n');
if(lownum < highnum)
puts("Вы ввели числа в правильном порядке.\n");
else
{
temp = highnum; highnum = lownum; lownum = temp;
puts("Вы ввели числа неправильно.\n"); puts("Придется исправить Вашу ошибку.\n");
}
printf("Значение переменной lownum
равно %d\n", lownum); printf("Значение переменной highnum
равно %d\n", highnum);
}
5.Объясните, почему следующая программа написана неверно: main()
{
int age;
printf(Укажите Ваш возраст); scanf("%f", &age);
www.books-shop.com
if age < 18 then
puts("Вы не можете участвовать в выборах"); else
if age > 18 then
puts("Вы можете участвовать в выборах");
В первой инструкции printf() литерал не заключен в кавычки. Переменная age, определенная с типом int, вводится с помощью функции scanf() как float. Условие в инструкции if не заключено в круглые скобки. Слово then лишнее.
Программа не выведет никакого сообщения в том случае, если будет указан возраст ровно 18 лет.
Глава 9
1.Отредактируйте текст программы из Листинга 8.10 (глава 8) таким образом, чтобы она повторялась до тех пор, пока пользователь не пожелает прекратить ввод данных.
main()
{
float rate, hours, total, regular, extra, d_time, overtime;
int moredata; do
{
printf("Введите оплату часа работы: "); scanf("%f", &rate);
printf("Введите количество отработанных часов: ");
scanf("%f", &hours); d_time=rate * 2;
if (hours <= 40)
{
regular = hours * rate; extra = 0.0;
overtime = 0.0; total = regular;
}
else
{
regular = 40 * rate; extra = hours - 40;
overtime = extra * d_time;
www.books-shop.com
total = regular + overtime;
}
putchar('\n');
printf("Ваш обычный недельный заработок равен %.2f\n", regular);
printf("Вы отработали %.2f часов сверхурочно\n", extra);
printf("Оплата 1 часа сверхурочных равна $%.2f\n", d_time);
printf("Заработок за сверхурочные часы равен %.2f\n", overtime);
printf("Итого, Ваш недельный заработок составляет %.2f\n", total);
printf("Желаете продолжить расчет? Y or N: ");
moredata = getchar(); putchar('\n');
}
while(moredata=='y' || moredata=='Y');
}
2.Напишите программу, которая рассчитывает сумму 6-процентного налога на продажи для товаров, имеющих стоимость в пределах от 1 до 50 долларов, и выводит информацию на экран монитора в виде таблицы
Цена |
Налог |
Итого |
|
1 |
|
$.06 |
$1.06 |
2 |
|
$.12 |
$2.12 |
main()
{
int cost;
float shipping, total; puts("Цена\tНалог\tИтого\n"); for(cost=1;cost<51;cost++)
{
shipping = cost * 0.06; total = cost + shipping;
printf("$%d\t$%.2f\t\t$%6.2f\n",cost, shipping, total);
}
}
3.Напишите программу, которая вводит десять чисел в пределах от 0 до 25. main()
{
int count, number;
www.books-shop.com
for(count=1;count<11;count++)
{
printf("Введите значение N%d", count); putchar('\n');
do
{
printf("Вводите числа в пределах от 0 до 25: "); scanf("%d",&number);
}
while(number<0 || number > 25); putchar('\n');
}
}
4.Напишите программу, которая выводит на дисплей следующий график:
** * * *
** * *
** *
**
*
**
** *
** * *
** * * *
main()
{
int outer,inner; for(outer=5;outer>0;outer--)
{
for(inner=1;inner<=outer;inner++)
printf("*");
putchar('\n');
}
for(outer=2;outer<6;outer++)
{
for(inner=1;inner<=outer;inner++)
printf("*");
putchar('\n');
}
}
5.Объясните, почему следующая программа написана неправильно: main()
www.books-shop.com
{
float row, column; puts("\t\tТаблица Пифагора\n\n"); for (row = 1; row <= 10; row++
{
for (column = 1; column <= 10; column+ printf("%d", row * column);
}
putchar('\n');
}
Переменные row и column определены с типом float, но если вы хотите использовать их в цикле, они должны относиться к типу int. Инструкция putchar('\n') помещена таким образом, что она будет выполнена только один раз. Таблица, таким образом, будет выведена в одну линию. Поместите инструкцию на одну строку выше, перед закрывающей фигурной скобкой.
Глава 10
1.Напишите программу, в которой массивы используются для хранения имен, адресов и номеров телефонов 20 человек.
main()
{
char names[20][20], street[20][20], city[20][20];
char state[20][3], zip[20][6], phone[20][13], lookfor[20];
int count; for(count=0;count<20;count++)
{
puts("Введите имя"); gets(names[count]); puts("Введите название улицы"); gets(street[count]); puts("Введите город"); gets(city[count]);
puts("Введите штат"); gets(state[count]); puts("Введите индекс"); gets(zip[count]);
puts("Введите номер телефона");
www.books-shop.com
gets(phone[count]);
}
}
2.Внесите в программу из упражнения 1 изменения так, чтобы иметь возможность ввода имени и последующего просмотра массива в поисках номера телефона соответствующего человека.
main()
{
char names[20][20], street[20][20], city[20][20];
char state[20][3], zip[20][6], phone[20][13], lookfor[20];
int count; for(count=0;count<20;count++)
{
puts("Введите имя: "); gets(names[count]);
puts("Введите название улицы: "); gets(street[count]);
puts("Введите город: "); gets(city[count]); puts("Введите штат: "); gets(state[count]); puts("Введите индекс: "); gets(zip[count]);
puts("Введите номер телефона: "); gets(phone[count]);
}
puts("Введите имя: "); gets(lookfor);
for(count=0; count<20;count++)
{
if(strcmp(names[count],lookfor)==0) printf("%s %s\n", names[count],
phone[count]);
}
}
3.Объясните, почему следующая программа написана неправильно: main()
{
int temps(31); int index, total;
for (index = 0; index < 31; index++)
{
printf("Введите значение
www.books-shop.com
температуры #%d: ", index); scanf("%d", &temps(index));
}
high = temps(0);
low = temps(0); index = 1; while (index < 31)
{
if (temps(index) > high)
high = temps(index);
else
low = temps(index);
index++;
}
printf("Минимальное значение
температуры равно %d\n", low); printf("Максимальное значение
температуры равно %d\n", high);
}
Индексы всех элементов массива temps заключены в круглые скобки, вместо квадратных. Переменные high и low не определены. Переменная total определена, но не используется в программе. Конструкция if...else написана с ошибкой: если рассматриваемое значение не превышает текущее значение переменной high, это не
значит, что оно непременно меньше текущего значения переменной low.
Глава 11
1.Напишите программу, в которой структура используется для составления инвентарной описи. Информация включает в себя название продукта, цену, количество, имя поставщика.
struct product
{
char name[20]; float cost;
int quantity; char vendor[20]; } item;
main()
{
puts("Введите сведения о товаре\n\n"); printf("Введите наименование:");
www.books-shop.com
- #
- #
- #13.08.201334.52 Mб107Липман С., Лажойе Ж., Му Б. - Язык программирования C++. Вводный курс - 2007.djvu
- #13.08.201347.18 Mб151Литвиненко Н.А. - Технология программирования на C++. Win32 API-приложения - 2010.djvu
- #
- #
- #13.08.201317.53 Mб116Оберг Р., Торстейсон П. - Архитектура .NET и программирование на Visual C++ - 2002.pdf
- #
- #
- #
- #